2012-11-28 32 views
1

假设“temp1”是一个嵌入式图像,它是给定的ax和y位置..我想要把它的坐标,并把它放到一个整数..我试图看,但theres没有信息,它显然现在工作即时通讯的方式做这件事,我 继承人如何做到了..我如何将一个位图X位置整数或数字?

public var temp1:Bitmap = new Bitmap() 
public var t1:int; 
public var image:MovieClip = new MovieClip() 
public var eater:MovieClip = new MovieClip(); 

[Embed(source="Asset/Levels/Easy.swf")] 
private var Easy:Class; 

[Embed(source="Asset/Levels/Eat.swf")] 
private var Eat:Class; 

public class Game extends Sprite 
{ 
    eater = new Eat(); 

    image = new Easy(); 
    image.x = 100; 
    image.y = 100; 
    stage.addChild(image); 
    image.addEventListener(MouseEvent.CLICK, click); 

} 

public function click(event:MouseEvent):void 
{ 
    temp1 = event.target.getChildAt(0); 
    tester(); 
} 

public function tester():void 
{ 
    t1 = temp1.x; 
    trace("t1 " + t1); 
    eater.x = t1; 
    stage.addChild(eater); 
} 

注意:这仅仅是我写说明的情况我是个例子..

我也试过它作为一个“号码“变量而不是”整数“.. 追踪它之后,它只会显示为”0“..

为什么即时通讯这样做的原因,是因为我的舞台上有一个Bitmap阵列..它是一个6x6的位图图像网格。当我点击舞台上的图像时,我想采用它的x,y坐标并将其提供给一个Integer ..这样我就可以使用保存的x和y位置用动画片段来覆盖位图..我已经对它进行了编程,以便在影片剪辑文件(Swf)结束时图像会消失。问题是,当我这样做,除了movieclip的x和y位置以外,一切都很顺利..它出现在舞台的左上角。 我希望它位于位图上,所以使用这个公式我认为它可以工作,但我只是倾斜弄清楚为什么它没有保存斧头的位置。

+1

你知不知道会发生什么事情将要如实例'var temp1:Bitmap = new Bitmap();'并且DisplayObject将x和y设置为0? –

+0

我的歉意,我真的不明白你的意思.. 虽然我试图解释, 我会编辑它,只是添加一些额外的代码,所以每个人都可以很容易地理解它。 –

回答

1

我没有手头有闪光灯在这里,但是当你的temp1值更改为

temp1 = event.currentTarget as Bitmap; 
+0

不要使用getChildAt( 0) - 刚刚获得目标,x和y应该是有效的。另外,不要将它分配为全局变量,只需处理获取x和y的所有代码并替换处理程序中的图像即可。 – Gone3d

相关问题