• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:円をランダムで描画していき、最初の円から徐々に透明になる)

円を描画していき、徐々に透明になるスクリプトの作り方

このQ&Aのポイント
  • AS3.0を使用して円をランダムに描画しながら、先に描画した円から徐々に透明にしていくスクリプトの作り方を教えてください。
  • 現在のスクリプトでは全体が透明になってしまいますが、常に透明度が1の円を描画しつつも、徐々に透明になるスクリプトにする方法を教えてください。
  • イベントリスナーを使用して円の描画と透明度の変化を制御する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • cspl
  • ベストアンサー率83% (55/66)
回答No.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); } } _____________________________________________________

keropiyo
質問者

お礼

csplさんお返事遅くなり誠に申し訳ございません。 おっしゃる通り、分けてスクリプトを書くことでとても分かりやすく 理解することが出来、うまく行きました。 本当に有難うございました。