2010-04-14 72 views
0

我完全困惑。我問this問題,它(任何提到的解決方案)似乎並沒有工作。你如何從舞臺的一個角落畫一條線到另一個角?

全部我想要畫一條線從一個角落到另一個角落。

這裏又是鏈接到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); 
     } 

    } 

} 

它只是工作!該線從屏幕外某處跳到舞臺的中間。我究竟做錯了什麼?

+0

你有沒有嘗試重新啓動Flash(或者你正在創建swf)?過去我遇到類似問題,重新啓動Flash只需要修復它們。我不知道爲什麼,但每過一段時間,Flash都會對我產生影響。 – Ponkadoodle 2010-04-14 02:45:44

+0

@wallacoloo:Ya ...我用ActiveX播放器和插件播放器試了一下。同樣的結果。我使用FlashDevelop,順便說一句。 – 2010-04-14 03:02:14

回答

4

您編譯的SWF文件爲800x600,而您的嵌入文件爲350x350。如果您希望自己的代碼正常工作,則應將階段的scaleMode設置爲StageScaleMode.NO_SCALE,將align設置爲StageAlign.TOP_LEFT。默認情況下,它們是StageScaleMode.NO_BORDERStageAlign.TOP,這會使SWF顯示在約466x350(保持4:3比率),因此其左上角約爲(-58,0),右下角約爲(408,350) (水平居中(相對於嵌入區域)))。

+0

jeez ...所以這是他的嵌入問題。但你怎麼知道他的SWF設置爲800x600,實際上並不是350x350? – jonathanasdf 2010-04-14 16:17:12

+0

謝謝大家 - 我開始覺得我失去了它。 – 2010-04-14 16:51:44

+0

@jonathanasdf:好的,1.這是FD的默認設置,2.如果你下載SWF並在獨立播放器中打開它,它將以其最佳尺寸打開。當然還有很多其他方法可以找到。 :) – back2dos 2010-04-15 09:02:52

1

好吧,我也很困惑。複製完全相同的代碼並運行swf WORKS。 http://www.swfcabin.com/open/1271209077

所以我發誓這是你的嵌入標籤或東西錯了。

+0

我正在使用FlashDevelop。這是一個已知問題還是什麼? – 2010-04-14 02:57:01

+0

我也使用FlashDevelop。我不知道爲什麼它不適合你......別人可以確認它是否適用於他們嗎? – jonathanasdf 2010-04-14 03:01:48

+0

@jonathanasdf:用'mxmlc'手動編譯的命令是什麼? – 2010-04-14 03:03:38

相關問題