我正在尝试学习Actionscript 3.我需要将我的原点从左上角移到舞台的中心。我在stackoverflow上找到了这个问题: How to change the coordinate origin in Flash's stage with Actionscript?
建议是,"创建一个MovieClip或Sprite并将其作为根对象添加到舞台上(而不是添加到舞台上)stage.width / 2,stage.height / 2。&#34 ;
这是什么意思?什么是根对象?如何将MC作为根对象添加到舞台上?
答案 0 :(得分:0)
当您启动swf时,您基本上是在启动一个MovieClip。 (我可能会为这个类比撕掉一个新的)。所以当你写这个
var myMC:MovieClip = new MovieClip();
addChild(myMC);
您正在为电影根目录/舞台添加MovieClip。由于不可能真正改变根/阶段的起源,该帖子建议你做下一个最好的事情。通过创建另一个MovieClip并像这样添加到你的root / stage
var fauxRoot:MovieClip = new MovieClip();
fauxRoot.y = stage.stageHeight/2;
fauxRoot.x = stage.stageWidth/2;
addChild(fauxRoot);
现在您已将fauxRoot MovieClip置于根/舞台中心,您可以将所有元素添加到fauxRoot而不是root / stage。由于fauxRoot位于主根/阶段的中心,因此0,0将位于中心。添加按钮的示例可能是
var uiButton:Button = new Button();
uiButton.x = uiButton.width/2;
uiButton.y = uiButton.height/2;
fauxRoot.addChild(uiButton);
此按钮现在应位于屏幕中间的中间位置。希望这有点帮助。