有没有办法防止 DisplayObject 的高度属性自动更改?它会自动调整大小以匹配内容,尽管我的 swf 文件的高度为 32 像素。下面的代码可以证明这一点,第一帧的敌人高度是 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);
}
}
}