Странное поведение при чтении stage.stageHeight, когда Bandwith Profiler открыт - PullRequest
1 голос
/ 13 февраля 2010

Кто-нибудь еще испытывал странные поведения и неожиданные значения при проверке stage.stageHeight, пока у вас есть Bandwith Profiler, открытый в Flash IDE?

Скажем, я использовал это для тестирования Perlin Noise:

package {

    import flash.display.StageAlign;
    import flash.display.StageScaleMode;

    import flash.display.Sprite;
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.events.Event;
    import flash.geom.Point;

    [SWF(width="550", height="400", backgroundColor="#000000", frameRate="60")]
    public class Clouds extends Sprite {
        private var _bitmap:BitmapData;
        private var _xoffset:int = 0;
        private var _yoffset:int = 0;

        public function Clouds() {
            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;

            trace("stage.stageHeight: "+stage.stageHeight);

            _bitmap = new BitmapData(stage.stageWidth, stage.stageHeight,true, 0xffffffff);
            var image:Bitmap = new Bitmap(_bitmap);
            addChild(image);
            addEventListener(Event.ENTER_FRAME, onEnterFrame);
        }

        public function onEnterFrame(event:Event):void {
            _xoffset = _xoffset + Math.random()*4 -2;
            _yoffset = _yoffset + Math.random()*3;
            var point:Point = new Point(_xoffset, _yoffset);

            _bitmap.perlinNoise(200, 100, 3, 1000, false, true,
                            1, true, [point, point]);
        }
    }
}

Как вы видите здесь, swf установлен на высоту 400 .. При выполнении с тестовым фильмом, control-enter, трассировка возвращает 400 .. теперь, если вы попробуете это с открытым Bandwidth Profiler, он вернет 300, а Sprite увеличится только до высоты 300.

Кто-нибудь испытывал то же самое?

Ответы [ 2 ]

0 голосов
/ 16 февраля 2010

Абсолютно - насколько я знаю, ошибка была исправлена ​​в CS4. Этот баг долго мучил меня. Эта проблема возникает только в среде тестирования, поэтому вы можете быть уверены, что эта проблема исчезнет при переходе на страницу HTML.

Единственное, что я могу по-настоящему предложить, это скомпилировать клип и затем открыть профилировщик пропускной способности - или обновить ваш flash ide, если $ позволяет.

Вы не одиноки: http://www.google.com/search?hl=en&q=bandwidth+profiler+bug

0 голосов
/ 13 февраля 2010

В этом нет ничего странного.Вы установили высоту сцены по умолчанию, но размер сцены может отличаться, если пользователь, браузер или в этом случае FlashIDE изменяет размер окна проигрывателя (поскольку пользовательский интерфейс будет пропорционально выделять пространство для профилировщика).

Вы можете создать свои собственные константы WIDTH / HEIGHT, если вам нужны конкретные базовые числа для масштабирования и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...