“FlashPlatform Initialization”的版本间的差异
来自Blueidea
(→舞台尺寸的軟匹配:) |
(→舞台尺寸的軟匹配:) |
||
第4行: | 第4行: | ||
==舞台尺寸的軟匹配:== | ==舞台尺寸的軟匹配:== | ||
+ | |||
+ | 此示例識別舞台大小的修改並始終以一個藍色背景填充。 | ||
<syntaxhighlight lang="actionscript"> | <syntaxhighlight lang="actionscript"> | ||
/* | /* | ||
第29行: | 第31行: | ||
stage.scaleMode = StageScaleMode.NO_SCALE; | stage.scaleMode = StageScaleMode.NO_SCALE; | ||
// 待會用來填充舞台。 | // 待會用來填充舞台。 | ||
− | $ | + | $border = new Shape(); |
+ | addChild($border); | ||
+ | // 初始時先繪製一次。 | ||
repaintBorder(stage.stageWidth, stage.stageHeight); | repaintBorder(stage.stageWidth, stage.stageHeight); | ||
+ | // 監聽舞台大小的改變。 | ||
stage.addEventListener(Event.RESIZE, stage_resizeHandler); | stage.addEventListener(Event.RESIZE, stage_resizeHandler); | ||
} | } | ||
第57行: | 第62行: | ||
如果您使用的時Flash Builder那麼可以在${1}處加入使長寬為900 x 600並指定60fps刷新率。 | 如果您使用的時Flash Builder那麼可以在${1}處加入使長寬為900 x 600並指定60fps刷新率。 | ||
<syntaxhighlight lang="actionscript"> | <syntaxhighlight lang="actionscript"> | ||
+ | // ${1} | ||
[SWF(width="900", height="500", frameRate="60")] | [SWF(width="900", height="500", frameRate="60")] | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 最後在舞台尺寸改變時重新繪製邊框。 | ||
+ | <syntaxhighlight lang="actionscript"> | ||
+ | // ${2} | ||
+ | $border.graphics.clear(); | ||
+ | $border.graphics.beginFill(0x00CCFF); | ||
+ | $border.graphics.drawRect(0, 0, width, height); | ||
+ | $border.graphics.endFill(); | ||
</syntaxhighlight> | </syntaxhighlight> |
2011-04-13T22:50:05的版本
Flash platform 應用初始化常用設置。
舞台尺寸的軟匹配:
此示例識別舞台大小的修改並始終以一個藍色背景填充。
/* ~~ Blueidea wiki [Category:Flash platform]~~ www.blueidea.com */ package { import flash.display.Shape; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; // ${1} /** * The <code>Molehill</code> class.<br/> */ public class Test extends Sprite { //========================================================================== // Constructor //========================================================================== /** Constructor */ public function Test() { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; // 待會用來填充舞台。 $border = new Shape(); addChild($border); // 初始時先繪製一次。 repaintBorder(stage.stageWidth, stage.stageHeight); // 監聽舞台大小的改變。 stage.addEventListener(Event.RESIZE, stage_resizeHandler); } private var $border:Shape; private function repaintBorder(width:uint, height:uint):void { // ${2} } //========================================================================== // Event listeners //========================================================================== private function stage_resizeHandler(event:Event):void { repaintBorder(stage.stageWidth, stage.height); } } // <- end class -> }
通常我們會對stage做如上設定讓舞台在左上角對齊,並且當FlashPlayer尺寸設置時令縮放保持不變。
stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE;
接下來對FlashPlayer設定一個初始大小。如果您使用的Flash IDE那麼直接在設置面板設置即可。
如果您使用的時Flash Builder那麼可以在${1}處加入使長寬為900 x 600並指定60fps刷新率。
// ${1} [SWF(width="900", height="500", frameRate="60")]
最後在舞台尺寸改變時重新繪製邊框。
// ${2} $border.graphics.clear(); $border.graphics.beginFill(0x00CCFF); $border.graphics.drawRect(0, 0, width, height); $border.graphics.endFill();