0

我完全感到困惑。我问了这个问题,它(任何提到的解决方案)似乎根本不起作用。

想要的只是从一个角落到另一个角落画一条线。

这里又是我拥有的 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);
        }

    }

}

它只是行不通!这条线从屏幕外的某个地方到舞台的中间。我到底做错了什么?

4

2 回答 2

4

您将 SWF 编译为 800x600,而嵌入为 350x350。如果您希望您的代码无论如何都可以工作,则应将阶段设置为scaleModetoStageScaleMode.NO_SCALEalignto StageAlign.TOP_LEFT。默认情况下,它们是StageScaleMode.NO_BORDERand StageAlign.TOP,这使您的 SWF 显示大约为 466x350(保持 4:3 的比例),因此其左上角大约为 (-58,0),右下角大约为 (408, 350)(即水平居中(相对于嵌入区域))。

于 2010-04-14T09:09:33.273 回答
1

好吧,我也很困惑。复制完全相同的代码并运行 swf WORKS。http://www.swfcabin.com/open/1271209077

所以我发誓你的嵌入标签或其他东西有问题。

于 2010-04-14T02:35:36.767 回答