あなたが今、抱えてる悩み カンドウコーポレーションが解決します お悩み一掃!!
STAFF INFORMATION

フラッシュ・ラボ 写真や四角が流れてループする処理 [柳谷 武]

スタッフ紹介 >> 柳谷 武 >> フラッシュ・ラボ >> 写真や四角が流れてループする処理  
<< フラッシュ・ラボに戻る
[写真や四角が流れてループする処理01]PHOTO SLIDE
一方向にオブジェクトが流れて(または、逆流して)いく処理です。
マウスの位置によって流れるスピードが変化します。
枠の中でマウスを動かしてください。
中心に近いほど、ゆっくり動きます。
写真や四角が流れてループする処理01

[1]マウスの位置などから、流れるスピードを決める式をつくります。
オブジェクトは移動しているので、時間がたつと画面の外にでてしまいます。そのときにループして(世界を一周して)逆から画面に入るようにつくります。

[ スクリプト - ツクリカタ ]

[A] まず、フラッシュの実行がはじまったときに、1フレーム目に処理するようにします。
初期設定

_root.ph_width = 24

_root.ph_num_max = 7



[B] 繰り返す処理

マウス座標からスピードの値を決める

_root.speed = _xmouse - 50


ダミー座標が左右どちらに流れて動くか判断

if(_root.damy_x + _root.speed >= 0){

  
全体の長さのなかに収まる座標に変える
  (余り計算を使ってやってます)

  _root.damy_x =
  (_root.damy_x + _root.speed)
   % ( _root.ph_num_max * _root.ph_width )

}else{

  _root.damy_x =
  _root.ph_num_max * root.ph_width
   + ( (_root.damy_x + _root.speed)
   % ( _root.ph_num_max * _root.ph_width ) )

}

オブジェクトの座標を動かす

_root.damy._x = _root.damy_x


[ スクリプトの意味 ]

初期設定
●_root.ph_width = 24
オブジェクトひとつ(写真や四画)の幅設定

●_root.ph_num_max = 7
オブジェクトひとつ(写真や四画)の数

繰り返す処理
●(_root.damy_x + _root.speed)

 % ( _root.ph_num_max * _root.ph_width )

オブジェクトの位置を、端っこまでの距離で割った余りの値
ループ(世界一周)するための処理



枠の中でマウスを動かしてください。
中心に近いほど、ゆっくり動きます。
写真や四角が流れてループする処理02

[2]マウスの位置などから、流れるスピードを決める式をつくります。

[ スクリプト - ツクリカタ ]

[A] まず、フラッシュの実行がはじまったときに、1フレーム目に処理するようにします。
初期設定

_root.ph_width = 24

_root.ph_num_max = 7


オブジェクト作成

for( i = 0 ; i < _root.ph_num_max ; i ++ ){

  attachMovie("ph" , i , i )

  _root[i].num = i

  _root[i]._y = 38

  _root[i].gotoAndStop(i+1)

}



[B] 繰り返す処理

_root.speed = _xmouse - 50


if(_root.damy_x + _root.speed >= 0){

  _root.damy_x =
  (_root.damy_x + _root.speed)
   % ( _root.ph_num_max * _root.ph_width )

}else{

  _root.damy_x =
  _root.ph_num_max * root.ph_width
   + ( (_root.damy_x + _root.speed)
   % ( _root.ph_num_max * _root.ph_width ) )

}

_root.damy._x = _root.damy_x

全てのパネルを並べなおす

for( i = 0 ; i < _root.ph_num_max ; i ++ ){

  _root[i]._x =
  (_root.damy_x + (i * _root.ph_width) )
   % ( _root.ph_num_max * _root.ph_width )

}


[ スクリプトの意味 ]

初期設定
●attachMovie("ph" , i , i )
オブジェクトをつくる

●_root[i].num = i
オブジェクトに自分の番号を教える

●_root[i].gotoAndStop(i+1)
色や写真など番号によって別々のビジュアルにする

繰り返す処理
●(_root.damy_x + (i * _root.ph_width) )

 % ( _root.ph_num_max * _root.ph_width )

オブジェクト達の位置を、端っこまでの距離で割った余りの値
ループ(世界一周)するための処理



<< フラッシュ・ラボに戻る