2012-04-28 16 views
1

なぜこれは動作しませんか?ステージにムービークリップを動的に作成して追加します

stop(); 
var board:MovieClip = new MovieClip(); 
board.width = 60 * 5; 
board.height = 60 * 5; 
board.graphics.clear(); 
board.graphics.beginFill(0xFF0000); 
board.graphics.lineStyle(1, 0x000000); 
board.graphics.drawRect(0, 0, board.width, board.height); 
board.graphics.endFill(); 
this.addChild(board); 
board.x = 40; 
board.y = 40; 

これは簡単で無数の時​​間の前に行われていますが、私にとってはうまくいかないでしょう! 私はそれをアクションフレームとドキュメントスクリプトに貼り付けましたが、どちらも動作しません! 私はこれが正しいことを知っているので、それはイライラしている! 私はFlash CS5.5を使用しています!

答えて

1

正しく覚えていれば、それはしばらくしています。 MovieClipに何かがあるまでは、widthまたはheightではありません。手動で寸法を設定しても、サイズを変更する必要はありません。したがって、寸法は0になります。オブジェクトを追加するか、何かを最初にgraphicsに描画する必要があります。その後、サイズを変更することができます。

+0

!私はそれを逃すためにとても愚かな気がする! – BlakcRece

0

変更この行:

board.graphics.drawRect(0, 0, board.width, board.height); 

へ:

board.graphics.drawRect(0, 0, 60 * 5, 60 * 5); 

理由:

私が間違っている可能性が、私はそれをテストしていないが、board.widthboard.heightはおそらく0に戻ってきています。

+0

oh my god !! o.O コードスニペットをこれに更新しました。 'var board:MovieClip = new MovieClip(); var bW:Number = 60 * 5; var bH:Number = 60 * 5; board.graphics.clear(); board.graphics.beginFill(0xFF0000); board.graphics.lineStyle(1、0x000000); board.graphics.drawRect(0、0、bW、bH); board.graphics.endFill(); this.addChild(board); board.x = 40; board.y = 40; ' それがうまくいった!なぜ?!ステージに追加される前に寸法を持たないムービークリップとは何か? – BlakcRece

+0

@BlakcReceなぜ私はもう質問に答えるのを嫌うのか分からない(それを無視して、ただ通気する)。より良い! – Taurayi

関連する問題