- ベストアンサー
円を描画していき、徐々に透明になるスクリプトの作り方
- AS3.0を使用して円をランダムに描画しながら、先に描画した円から徐々に透明にしていくスクリプトの作り方を教えてください。
- 現在のスクリプトでは全体が透明になってしまいますが、常に透明度が1の円を描画しつつも、徐々に透明になるスクリプトにする方法を教えてください。
- イベントリスナーを使用して円の描画と透明度の変化を制御する方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
以下のスクリプトで動作するはずです。 「円を作る」作業と「円のアルファ値を下げる」作業を 分けて考えることがポイントです。 参考にしてみてください。 _____________________________________________________ import flash.display.Sprite; var myClip:Sprite = new Sprite(); addChild(myClip); addEventListener(Event.ENTER_FRAME, createCircle); function createCircle(event:Event):void { var radius:int = Math.floor(Math.random()*100); var stageX:int = Math.floor(Math.random()*stage.stageWidth); var stageY:int = Math.floor(Math.random()*stage.stageHeight); var mySprite:Sprite = new Sprite(); mySprite.graphics.beginFill(0x000000); mySprite.graphics.drawCircle(stageX, stageY , radius); mySprite.graphics.endFill(); myClip.addChild(mySprite); mySprite.addEventListener(Event.ENTER_FRAME, clearCircle); } function clearCircle(event:Event):void { var circle = event.currentTarget; circle.alpha -= 0.01; if (circle.alpha <= 0) { // アルファが0以下になった円は動作を止めて消す。 circle.removeEventListener(Event.ENTER_FRAME, clearCircle); myClip.removeChild(circle); } } _____________________________________________________
お礼
csplさんお返事遅くなり誠に申し訳ございません。 おっしゃる通り、分けてスクリプトを書くことでとても分かりやすく 理解することが出来、うまく行きました。 本当に有難うございました。