我有以下组件:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="16" height="16" >
<mx:Script>
<![CDATA[
import mx.controls.Image;
public function init(i:Number):void {
this.setStyle("backgroundColor", userFrame.colors[i]);
}
]]>
</mx:Script>
<mx:Image x="0" y="0" width="16" height="16"
source="@Embed(source='../border16x16.png')"/>
</mx:Canvas>
然后我将addChild(block)
添加到舞台上
然后我想通过改变失败的block.x
来移动它。如何更改代码以实现移动效果?
答案 0 :(得分:2)
您的样本中没有名为block
的变量或组件,所以我不清楚您要移动的是什么。
如果你想移动图像,首先你必须给它一个ID:
<mx:Image id="myImage" x="0" y="0" width="16" height="16" source="@Embed(source='../border16x16.png')"/>
然后在某些时候,只需更改x和y值即可移动它:
myImage.x = newXValue;
myImage.y = newYValue;
您也可以使用移动方法:
myImage.move(newXValue, newYValue);
请记住,某些Flex MX容器(例如HBox或VBox)以及某些Flex 4 Spark布局(例如HorizontalLayout和VerticalLayout)中会忽略x和y值。在Spark中,如果要使用x和y定位元素,请务必使用基本布局。在Flex 3中,请务必使用容器或画布进行基本布局。