ActionScript 3 精灵,宽度和高度 0 不确定原因

ActionScript 3 sprite, width and height 0 unsure why

提问人:PKYNI 提问时间:6/11/2014 更新时间:6/11/2014 访问量:146

问:

我目前正在尝试引入鼠标单击的图像,但要使引脚的尖端在我需要的地方对齐,我需要将其 x 和 y 偏移一定量,这需要在后期阶段使用宽度和高度,但它始终为两个属性返回 0, 我已经复制了在以前的项目上运行良好的代码,但仍然一无所获。 任何帮助表示赞赏。

拆分代码以使其更容易

声明

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;
    }

我不介意在哪里能够读取正在导入的图像的宽度和高度,因为我只会将其设置为全局变量,但任何帮助都是值得赞赏的。

谢谢

ActionScript-3 宽度 精灵

评论

0赞 Andrey Popov 6/11/2014
我无法真正理解是什么,因为您指向一些引脚数组,但由于有 Loader,因此应先加载图像,然后才能使用宽度。在加载图像之前为 0。width
0赞 PKYNI 6/11/2014
我知道它在图像出现在舞台上后调用,因此必须将图像加载到精灵中。引脚只是图像的名称,它动态设置以不断添加引脚并动态引用它们,没有数组。因此,在设定点函数中,它不会返回宽度或高度

答: 暂无答案