Actionscript 3 ActionScript 3精灵,宽度和高度0不确定原因
我目前正在尝试引入一个鼠标点击的图像,但为了让针尖对齐我需要的位置,我需要将其x和y偏移一定量,这需要在后面的阶段使用宽度和高度,但这两个属性总是返回0,我在中复制了在以前的项目中运行良好的代码,但仍然一无所获。 谢谢你的帮助 将代码拆分以使其更容易 声明Actionscript 3 ActionScript 3精灵,宽度和高度0不确定原因,actionscript-3,width,sprite,Actionscript 3,Width,Sprite,我目前正在尝试引入一个鼠标点击的图像,但为了让针尖对齐我需要的位置,我需要将其x和y偏移一定量,这需要在后面的阶段使用宽度和高度,但这两个属性总是返回0,我在中复制了在以前的项目中运行良好的代码,但仍然一无所获。 谢谢你的帮助 将代码拆分以使其更容易 声明 public var pin1:Sprite, pin2:Sprite, pin3:Sprite; 动态添加管脚的函数 public function SetPoint(e:ContextMenuEvent):void {
public var pin1:Sprite, pin2:Sprite, pin3:Sprite;
动态添加管脚的函数
public function SetPoint(e:ContextMenuEvent):void
{
//trace("click option");
//place a square
this["pin" + (pinNum)] = addPin("Images/pin.png","pin" + pinNum,mouseX,mouseY,Sprite);
var tempX = this["pin"+(pinNum - 1)].height;
trace(tempX);
this["pin"+(pinNum - 1)].x = mouseX - (this["pin"+(pinNum - 1)].width/2);
this["pin"+(pinNum - 1)].y = mouseY - (this["pin"+(pinNum - 1)].height);
trace(mouseX);
trace(mouseX - (this["pin"+(pinNum - 1)].width/2));
//pin.x = 0-(pin.width/2);
//pin.y = 0;
}
动态导入图像的实际功能
//function to create sprites
public function addPin(imgURL:String, imgName:String, imgX:uint, imgY:uint, objType:Class):*
{
var imageURL: URLRequest = new URLRequest();
var imageLoader:Loader = new Loader();
var image:* = new (objType);
imageURL.url = imgURL;
imageLoader.load(imageURL);
image.addChild(imageLoader);
stage.addChild(image);
image.x = imgX;
image.y = imgY;
image.name = imgName;
image.scaleX = 0.1;
image.scaleY = 0.1;
pinNum = pinNum + 1;
return image;
}
我不介意在哪里可以读取导入的图像的宽度和高度,因为我只需将其设置为全局变量,但非常感谢您的帮助
谢谢我无法真正理解宽度是多少,因为您指向的是一些引脚阵列,但由于存在加载程序,应该先加载图像,然后才能使用宽度。在加载图像之前它是0。我知道它在图像出现在舞台上之后被调用,所以图像必须加载到精灵中。pin只是图像的名称,它是动态设置的,用于不断添加pin并动态引用它们,而不是数组。因此,在设定点函数中,它不会返回宽度或高度