gpt4 book ai didi

actionscript-3 - stage.addChild 和分层

转载 作者:行者123 更新时间:2023-12-04 06:51:16 25 4
gpt4 key购买 nike

我有一个简单的功能,当您单击按钮时,会随机将影片剪辑添加到舞台 xy位置。

我遇到的问题是新的影片剪辑最终掩盖了按钮。我试图将新创建的影片剪辑的 z-index 更改为低于按钮的 z-index,但这并不能解决问题。

如何阻止新的影片剪辑覆盖已经存在的元素?

friends1_btn.addEventListener(MouseEvent.CLICK, friendMaker);

function friendMaker(evt:MouseEvent):void {
var newFriend:Teddy = new Teddy();
newFriend.x = Math.random()*stage.width;
newFriend.y = Math.random()*stage.height;
newFriend.z = 0;
stage.addChild(newFriend);
}

最佳答案

或者——也许更多地长期使用——不要将所有添加的对象都作为按钮同一层的子级。

所以而不是:

stage
|
+--- object 1
|
+--- object 2
|
+--- button
|
+--- object 3

有:
stage
|
+--- object layer
| |
| +--- object 1
| |
| +--- object 2
|
+--- button

甚至:
stage
|
+--- object layer
| |
| +--- object 1
| |
| +--- object 2
|
+--- button layer
|
+--- button

哪里 object layerbutton layer可以简单地是 Sprite对象,即:
var objectLayer:Sprite=new Sprite();
var buttonLayer:Sprite=new Sprite();
stage.addChild(objectLayer);
stage.addChild(buttonLayer);
buttonLayer.addChild(myButton);

等等。

我认为你会发现进入这种长期思考方式比仅仅改变 z 指数更有用。

顺便说一下,更新的 Flash Player 10 确实有 .z属性(即使它不在文档中) - 正如 Reuben 所说,它用于新的 3D 变换。遗憾的是,3D 变换不支持 z 排序或 z 分层,因此在这种情况下无济于事。

关于actionscript-3 - stage.addChild 和分层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1500017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com