Flash/ActionScript

Flash万華鏡にチャレンジ!(4ページ目)

Actionscriptによる描画を応用して万華鏡を作成します。「描画して」「複製して」「マスクかけて」「回す」だけの簡単な作業で美しい万華鏡が出来ます。

執筆者:渡辺 大介

万華鏡を制御するActionscriptを記述する

万華鏡を制御するActionscriptは以下の通りです。
for(i = 1;i <= 5;i ++){
	canvas0.duplicateMovieClip("canvas" + i , i );
}

for(i = 0;i <= 5;i ++){
	this["canvas"+ i]._rotation = 60*i;
	this["canvas"+i]._x = 200;
	this["canvas"+i]._y = 150;
	this["canvas"+i].setMask(this["mask"+i]);
}

_root.onEnterFrame = function(){
	for(i = 0;i <= 5;i ++){
		this["canvas"+ i]._rotation += 1;
	}
}

stop();
いくつかのfor文が目立つ内容ですね。部分的に抜き出して詳しく見ていきます。


まずは最初のfor文である以下の部分に注目しましょう。
for(i = 1;i <= 5;i ++){
	canvas0.duplicateMovieClip("canvas" + i , i );
}
「duplicateMovieClip()」が記述されています。ここでは四角形が描画されたインスタンス「canvas0」を複製し、「canvas1」~「canvas5」という名前のインスタンスに複製しています。


次のfor文を見ていきます。
for(i = 0;i <= 5;i ++){
	this["canvas"+ i]._rotation = 60*i;
	this["canvas"+i]._x = 200;
	this["canvas"+i]._y = 150;
	this["canvas"+i].setMask(this["mask"+i]);
}
今度は繰り返しの条件は0~5、つまりオリジナルの「canvas0」にも「{ }」の処理が適用されるのに注意してください。
2行目は、インスタンスの「_rotation」 つまり、角度を「60度*i」に変更しています。ここでは「i」は0~5なので、角度は「0度、60度、120度…300度」と変更され、重なることなく、円を埋めます。
3行目、4行目は、今回のステージサイズの中心にインスタンスを移動しています。
5行目の「setMask(インスタンス名)」で、( )で指定したインスタンスをマスクとして適用します。これは前頁で用意したマスクがそれぞれ適用されるということですね。


それでは最後の部分を見ていきましょう。
_root.onEnterFrame = function(){
	for(i = 0;i <= 5;i ++){
		this["canvas"+ i]._rotation += 1;
	}
}

stop();
この部分はフレームが1進む時間が経過する度に実行する「onEnterFrame」の関数となります。
2行目からのfor文では、先程複製したインスタンス「canvas0~5」に対して、「._rotation += 1」の変更が加えられています。
つまり、四角形を描画されているインスタンス全てが少しずつ回転することになります。

これで完成です!
完成したファイルをダウンロード


実際の万華鏡の仕組みはもっと違うものですが、Flashで難しく再現しても仕方ありません。複雑そうですが平たく言うと、「描画して」、「複製して」、「マスクかけて」、「回すだけ」ですので、難しく考えず作成すれば何てことはなかったのではないでしょうか。

「Flash万華鏡」というジャンルはFlash創世記から様々なクリエイターがチャレンジしているジャンルです。皆さんもオリジナルの改良を加えた作品を発表してみてはいかがでしょうか?
【編集部おすすめの購入サイト】
Amazonで Flash 関連の書籍をチェック!楽天市場で Flash 関連の書籍をチェック!
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます