ソーシャルゲームに生かすFlash Lite制作テク
ソーシャルゲームに生かすFlash Lite制作テク(2)

アニメーターのためのFlash Lite用ActionScript入門


山崎 基央
2010/10/13

タイムラインを使って繰り返し処理を実装するには

サンプルFlashコンテンツ2 

 まずは、サンプルを見てください。右のようなアニメーションをスクリプトで制御してみましょう。

キーフレームを増やす

 先ほど作ったサンプルを基にして、作っていきましょう。

 まず、キーフレームを増やします。2フレーム目をフレームラベル「loop」とします。


1フレーム目のスクリプト

 1フレーム目に、以下のようにコードを書きます。

    count = 0;
px = 0;
py = 0;
- PR -

 今回はfor文を使わないため、どの位置に市松模様を置くのか、覚えておく必要があります。

 そのために、「px」「py」という変数を作ることにしました。

2フレーム目のスクリプト

 最後のキーフレームのActionScriptは、以下のように書きます。

count++;

if(count > 10){
py = int((count - 1) / 10);
}

if(count % 10 ne "0"){
px = count % 10 - 1;
}else{
px = 9;
}

copy_ichimatsu = "ichimatsu" add count;
duplicateMovieClip("ichimatsu",copy_ichimatsu,count);
tellTarget(copy_ichimatsu){
_x = _root.px * 24;
_y = _root.py * 24;
}

if(count < 100){
gotoAndPlay("loop");
}else{
stop();
}

条件で処理が変わる「if文」

 一番最後のコードを見ていきましょう。ここで新しく見えるのは「if()」文ですね。これは、「()の中身の条件が正しければ、{}で囲まれた処理を行う」スクリプトです。

if(count < 100){
gotoAndPlay("loop");
}else{
stop();
}

 日本語で解釈すると、「変数countが100未満の場合は、フレームラベル「loop」に行って再生する。そうでない場合は、処理をストップさせる」ということです。

 つまり、タイムラインが進んで最後のフレームまで来ると、countが100未満の場合2フレーム目の「loop」に飛んで、もう一度再生されるということです。

フレームラベル(変数)を使うと、拡張性や保守性が上がる

 もちろん、以下のようにも書けます。

    gotoAndPlay(2);

 ですが、フレームラベル(変数)を使うことで、「2フレーム目でなくなったときにも任意のフレームに飛んで処理する」ことができます。拡張性を求める場合、フレームラベルを使うのがいいでしょう。また保守性も上がります。

 これで、市松模様を左上から右下まで順々に敷き詰められたと思います。もしも、うまくいかない場合は、サンプルの.flaファイルをこちらに置いておきますので、ダウンロードしてFlash Proで読み込んで参考にしてみてください。

実は、これが「プログミラング」

 今回の内容は、非常に基本的ですが、「プログラミング」と呼べるものです。アニメーターの方でも、これぐらいはできるようになっておくと、ソーシャルゲームの制作がしやすくなるでしょう。

 次回は、今回の内容を踏まえ、Flash Lite 1.1でプログラムを組む段階での細かいTipsについてお話しします。

 最後に、プログラミングを行う際に便利なTipsを、次回の前に1つだけ紹介しておきます。ご参考に。

おまけTips!「“剰余計算”もプログラミングの役に立つ」
スクリプトには、今回も使った加減乗除の四則演算のほかに一般的な演算子として「剰余計算」というものがあります。これは、割り算の余りを値として返す演算子です。例えば、以下のようになります
    5 + 2 = 7
5 - 2 = 3
5 * 2 = 10
5 / 2 = 2.5
最後の割り算だけ小数点が出てしまいますね。これは、以下のようにも解釈できます。
    5 / 2 = 2 余り 1
この余りを値として返すのが、剰余計算です。以下のように表現します。
    5 % 2 = 1
不思議な考え方に見えるかもしれませんが、この余りがプログラミングではよく使われますので、覚えておくとよいでしょう。

@IT関連記事

クリエイターであるためにFlash待ち受けを出し続ける
D89クリップ(9) 
トイレメーカーのサラリーマンはいかにしてFlashアニメ作家になったのか? クリエイターになる1つの方法を聞くとともにFlash待ち受けの簡単な作り方を教えよう
常識破りの携帯Flashアニメーション術
一撃デザインの種明かし(4) 携帯Flash開発で、アウトラインの制限をなくし、より豊かなアニメーションにする方法や、空間を感じさせる演出、最適な再生速度を考える
ケータイ版AIRでFlash Liteの成功パターンを踏襲
D89クリップ(5) アドビによるイベント「Adobe MAX Japan 2009」が開催。着実に地歩を固めるFlashプラットフォームと新たにケータイ市場を切り開くAIRが話題の中心となった
ケータイFlashでさくさく動くIllustratorデータの作り方
一撃デザインの種明かし(2) ケータイ用のFlash Liteで動くゲーム。アイテム作りのルールを伝授。Illustratorデータを軽くするためにデザイナが気を配るべきポイントは?
Flash CS5のiPhoneアプリ変換機能は無駄にならない
D89クリップ(15) 
Flash CS5製とiPhone SDK製のアプリの違いや、Flash Lite 4.0などFlashプラットフォームのモバイル対応について、Flashのエバンジェリストに聞いた
いまからでも遅くない! ケータイデザインの基礎固め
一撃デザインの種明かし(6) 普段はPCサイトを作っているが、ケータイサイトにも興味がある人向けの、初めてケータイのデザインハウツーです。ケータイデザインの基礎

山崎 基央(やまざき のりお)
1982年和歌山県生まれ
RIA UIデベロッパ/デザイナ、ソーシャルアプリFlashエンジニア

RIAのBtoBの仕事に携わっているときに「もっと人と身近にふれあいたい!」と、コンシューマーに転向。フリーランス。企画・設計から、モックアップ作成やインターフェイスの設計・実装までを幅広く担当

3/3  

 INDEX
ソーシャルゲームに生かすFlash Lite制作テク(2) 
アニメーターのためのFlash Lite用ActionScript入門
  Page1
Flashアニメーターがソーシャルゲームを作るために
そもそも、ActionScriptってどこに書くの?
  Page2
スクリプトで市松模様を繰り返して描くには
Page3
タイムラインを使って繰り返し処理を実装するには
実は、これが「プログミラング」
おまけTips!「“剰余計算”もプログラミングの役に立つ」

[an error occurred while processing this directive]

 Smart&Social フォーラム トップページへ



Smart & Social フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Smart & Social 記事ランキング

本日 月間