スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

タイムライン制御

フレームを移動、停止するための主なアクションスクリプトを紹介します。

  • play();
    フレーム移動を開始。

  • nextFrame(); , prevFrame();
    nextFrame();は次のフレームに移動し停止。
    prevFrame();は前のフレームに移動し停止。

  • gotoAndPlay(移動先フレーム);
    任意のフレームへ移動。"()"内に移動先のフレーム数を入れる。

  • stop();
    フレーム移動を停止。

これをアクションレイヤーに書き込み、作用させたいフレームに置けば完了です。
(" ; (セミコロン) "を最後につけるのを忘れずに!)

よく使うのは、gotoAndPlay();やstop();でしょうか(オイラ的に。



■注意:gotoAndPlay();

仮に gotoAndPlay(10); を5フレーム目に入れたとします。
この場合、5フレーム目になった瞬間に10フレーム目に飛ばされます。

つまり、5フレーム目が10フレーム目なわけです。

なので5フレーム目に画像や他のアクションスクリプトを入れても反映されません。

5フレームの次に10フレームにしたい場合は、6フレーム目にgotoAndPlay(10);をいれましょう。



*あったら便利なgotoAndStop();はswf4では使えないようなので注意。
スポンサーサイト

random

ランダムに数字を得られるスクリプトが
    random(数字)
です。

例えば、
    r = random( 10 ) ;
と書き込んだ場合、

ランダムに r = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ; が得られます。

大切なのは、0 から始まること。r = 10 ; は得られません。


これを使って"おみくじ"なんかも作れます(CLICKボタンは除く)。

クリックで瞬間おみくじスタート!(凶・大凶でも怒らないでね☆)


あぁ、凶だ...。

・・・

では作ってみましょう。

  1. テキストアイテム[大吉],[中吉],[凶],[大凶]を作り、レイヤーに移動。

  2. .これらのアイテムをそれぞれ2,3,4,5フレームに置く。

  3. アクションレイヤーを1フレーム目に挿入し、アクションスクリプト
      r = random(4);
      gotoAndPlay(r+2);
    を書く。

  4. もう1つアクションレイヤーを作り、
      stop();
    と書く。

  5. このアクションレイヤーのフレームをコピーし、2~5フレーム目に貼り付ける(又は上書き)。

こんな感じです(名称は変えています)。


プレビューを押しましょう。

(いきなりですが)大吉、中吉、凶、大凶もいずれかが現れたでしょうか。

プレビューを何度も押すと、違うおみくじの結果が得られると思います。

if / else if / else

"条件を与え、それを満たしている( true )ときに実行する。"
という動作をしてくれる1つが if / else if / else です。


まずはifから。

書き方は、
    if ( 条件 ) { 実行 }
です。
    if ( x == 1 ) { stop(); }
ように書きます。
この場合、" x == 1 がtrueのとき、stop(); を実行する。"となります。
x == 1 を満たさない( false )ときは、実行されません。


次に else if と else 。これらは if に続けて用います。
else 自体は"~でなければ"と意味で、if の条件が false のときに実行されます。

書き方は、
    if ( 条件#1 ) { 実行#1 }
    else if ( 条件#2 ) { 実行#2 }
    else { 実行#3 }
です。
    if( x == 1 ) { stop(); }
    else if ( y == 2 ){ play(); }
    else { gotoAndPlay(2); }
のように書きます。
この場合、
" x == 1 がtrueのとき、stop(); を実行する。"
" x == 1 がfalseで、かつ y == 2 がtrueのとき、play(); を実行する。"
" x == 1 がfalse かつ y == 2 がfalseのとき、gotoAndPlay(2); を実行する。"
となります。
else以降を抜いた場合は、
" x == 1 がtrueのとき、stop(); を実行する。"
" x == 1 がfalseで、かつ y == 2 がtrueのとき、play(); を実行する。"
で終わり、どちらもfalseの場合は、何も実行されません。

同一if内で条件を増やすときは else if を増やしてください。


ちなみに、個人的にはif(これに限りませんが)を書くとき
if( x==1 ){
    stop();
}else if( y==2 ){
    play();
}else{
    gotoAndPlay(2);
}
のように分け、TABキーを使って見やすくしたりします。
自分の間違えにくい形で書いていくのが大切だと思います。(くれぐれも文法に誤りのないよう。)


条件の書き方は、演算子andとor も参考に。

tellTarget

swf4では違うスプライトを操作するのにアクションスクリプトを用います。(swf6以降はこちら)

    tellTarget( ターゲットパス ){ アクションスクリプト };

例えば、
    telltarget( /t ){
      gotoAndPlay(1);
    };
と書けば、メインにあるスプライト t にgotoAndPlay(1);を適用します。

ターゲットパスの書き方は ターゲットパス にて。

プロパティ

プロパティとは、スプライトの持つ種々の値・属性のことです。
x,y座標や角度などがそれにあたります。

プロパティには読み取り・書き込みができるものと読み取り専用とがあります。
  • 読み取り
    値・属性を受け取ること
  • 書き込み
    値・属性を上書きすること


それでは、その中でも主立って使いそうなものを簡単に紹介します。

  • 読み取り・書き込みができるもの
    • _x , _y
      x座標およびy座標

    • _xscale , _yscale
      水平方向への倍率および垂直方向への倍率 (大きさ) . 1倍 = 100

    • _rotation
      角度[単位: ° ]. 好きな値で取れますが、-180~180 に修正されます( 240 ⇒ -120 )

    • _alpha
      透明度. 0-100. ( 0 ≒ 非表示 )

    • _visible
      表示/非表示を表すブール値(※後述). true : 表示 , false : 非表示

    • _name
      インスタンス名. 文字列

    • _focusrect
      携帯電話でFLASHを再生する際にボタンに現れる黄色の枠の表示/非表示を表すブール値. true : 表示 , false : 非表示


  • 読み取り専用
    • _currentframe
      現在のフレーム数

    • _target
      ターゲットパス


ブール値(論理値):Boolean
ブール値とは簡単に言えば、true / false で返される値のことです。true は "真" を、false は "偽" を表しています。
なお、数値:Numeric , 文字列:String と合わせて3つが データの種類 となっています。

プロフィール

クロワッサン@

Author:クロワッサン@
FLASHへの質問はコメントにて。

↓携帯サイトはコチラ

QRコード
*FLASHと画像で萌えサイト

カテゴリ

スポンサードリンク

検索フォーム

月別アーカイブ

最新記事

最新コメント

Twitter

Twitter < > Reload

Copyright © クロワッサン@
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。