gpt4 book ai didi

actionscript-3 - 防止 DisplayObject 的高度变化

转载 作者:行者123 更新时间:2023-12-02 11:41:20 24 4
gpt4 key购买 nike

有没有办法阻止 DisplayObject 的高度属性自动更改?尽管我的 swf 文件高度为 32 像素,但它会自动调整大小以匹配内容。下面的代码可以证明这一点,第一帧 enemy.height 是 32,但后来是 27.5,这弄乱了我的脚本。

getRect() 和 getBounds() 返回完全相同。另外,我想知道为什么在第一帧中它显示正确的高度,而在第二帧中它发生变化,它应该从一开始就显示 27.5。

package {
import flash.display.Sprite;
import flash.events.Event;
public class Main extends Sprite {
private var enemy:Sprite;
[Embed(source = '../lib/enemy.swf')] private var swf:Class;
public function Main():void {
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}

private function update(e:Event):void {
trace(enemy.height);
}

private function init(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
enemy = new swf();
addChild(enemy);
addEventListener(Event.ENTER_FRAME, update);
}

}

}

最佳答案

这与您实例化整个 SWF 的事实有关,并且必须经过 1 帧才能将其同步到主 swf。我要做的就是导出 .fla 中的符号,然后在 Flex 中使用“嵌入符号”语法:

[Embed(source='enemy.swf#Symbol1')]
private var swf:Class;

在这种情况下,即使在第一个 ENTER_FRAME 中,高度也将保持一致。如果不是您想要的高度,您可以使用不可见的形状来设置边界。

关于actionscript-3 - 防止 DisplayObject 的高度变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5232374/

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