Как вы проводите линию от одного угла сцены к другому? - PullRequest
0 голосов
/ 14 апреля 2010

Я полностью сбит с толку. Я задал этот вопрос, и он (любое упомянутое решение), похоже, не работает вообще.

Все Я хочу нарисовать линию от одного угла к другому.

Здесь снова приведена ссылка на имеющийся у меня SWF-файл (он встроен в документ HTML): test.html

Вот источник:

package 
{
    import flash.display.Sprite;
    import flash.events.Event;

    public class Main extends Sprite 
    {

        public function Main():void 
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }

        private function init(e:Event = null):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            // entry point

            graphics.clear();
            graphics.lineStyle(10, 0x000000);

            graphics.moveTo(0, 0);
            graphics.lineTo(stage.stageWidth, stage.stageHeight);
        }

    }

}

Это просто не работает! Линия идет от где-то за кадром до середины сцены. Что, черт возьми, я делаю не так?

Ответы [ 2 ]

4 голосов
/ 14 апреля 2010

Вы скомпилировали свой SWF-файл так, чтобы он был размером 800x600, а размер для встраивания - 350x350. Если вы хотите, чтобы ваш код все равно работал, вы должны установить для scaleMode на StageScaleMode.NO_SCALE и align на StageAlign.TOP_LEFT. По умолчанию они равны StageScaleMode.NO_BORDER и StageAlign.TOP, что делает ваш SWF-дисплей примерно 466x350 (с сохранением соотношения 4: 3), таким образом, его верхний левый угол составляет около (-58,0), а нижний правый - около 408, 350) (горизонтально по центру (относительно области врезки)).

1 голос
/ 14 апреля 2010

Ну, я тоже озадачен. Копирование ТОЧНОГО ЖЕ КОДА и запуск SWF РАБОТАЕТ. http://www.swfcabin.com/open/1271209077

так что клянусь, что-то не так с вашим тегом для вставки или чем-то подобным.

...