【AS3】FlashDevelop【フリー】

2008/07/16(水) 04:46:58ID:ahpJufac
FlashのAS3などの総合開発環境。
質問スレなどで結構出ているがスレがないので立てた。
基本英語だが、日本語化できる補助みたいなのもあるらしい。

【必要なソフト】
Flex 3 SDK
ttp://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3

JRE1.6
ttp://cowscorpion.com/Library/JREforWindows.html

FlashDevelop
ttp://www.flashdevelop.org/community/viewforum.php?f=11
2009/08/14(金) 23:21:08ID:H3Ft1e6v?2BP(123)
>>150
この問題はなんで起こるんでしょうねw
ぼくも疑問に思っていました。
width・height への値の代入は、
「描き始める前に領域を確保する」
という効果が出ないようですね。
これは直感と反する動作なので謎の仕様に見えてしまいます。

試しに、図形を描き終わった後から width・height を再設定してみると、
scaleX, scaleY に値を代入したかのように拡大縮小されますね。
「後からサイズを変える」 という効果はあるようです。

trace(sp.scaleX);

を表示してみると、再設定されていることが確認できました。
ということは、最初に width・height に値を代入すると、
scaleX、scaleY が 0 に設定されてしまうことになり、
その後の描画内容が画面に出ないという動作になってしまいます。

以上のことから想像すると、width・height のセッターの動作が、
function set width(value:Number):void {
  this.scaleX = this.width / value;
}
というようになっているのではないかなと。
width の初期値は 0 なので、何か値を掛けたとしても 0 になってしまいます。
2009/08/14(金) 23:24:27ID:H3Ft1e6v?2BP(123)
最後の行の書き方がおかしかったですね。
0 / value;
というような式だと、結果は常に 0 になるので、
最初に width・height を設定すると、その段階で
scaleX、scaleY が 0 になってしまうと考えられます。
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況