Ming movieclip
フラッシュムービーやゲームを作成するときに、キモとなるものがあります。それが
movieclipです。 movieclipさえわかれば、あとはactionscriptを理解するだけです。
今回はMingでMovieClipを使っていろいろしてみます。
とりあえずMovieClipを使ってみる
四角形を表示するmovieclipを作成する
<?php
$mcRect = new SWFSprite();
$spRect = new SWFShape();
$spRect->setLine(2,0,30,20);
$spRect->setRightFill(10,10,10,100);
$spRect->movePenTo(0,0);
$spRect->drawLine(0,5);
$spRect->drawLine(5,0);
$spRect->drawLine(0,-5);
$spRect->drawLine(-5,0);
$mcRect->add($spRect);
$mcRect->nextFrame();
?>
"四角形を表示するmovieclip"を上下移動させるmovieclipを作成する
$mcMove = new SWFSprite();
$mcMove->setFrames(100);
$rect_move = $mcMove->add($mcRect);
for($i = 0;$i < 100;$i++){
if($i < 50){
$rect_move->move(0,5);
}else{
$rect_move->move(0,-5);
}
$mcMove->nextFrame();
}
"上下移動させるmovieclip"を保持するMoiveを作る
ming_useSWFVersion(5);
$Movie = new SWFMovie();
$Movie->setDimension(10*5,10*5*5);
//$Movie->setFrames(20);
$Movie->add($mcMove);
//for($i=0;$i<20;$i++){
//$Movie->nextFrame();
//}
$Movie->save("Moive.swf");
作成したファイルクリックする
親movieclipと子movieclip
親が移動すると子も移動します。確認しましょう。
- ◎親が移動すると子も移動する
-
ming_useSWFVersion(5);
$Movie = new SWFMovie();
$Movie->setDimension(10*5,10*5*5);
$Movie->setFrames(20);
$move_movie = $Movie->add($mcMove);
for($i=0,$m=1;$i<100;$i++){
if($i%20 == 0){
$m *= -1;
}
$move_movie->move(5*$m,0);
$Movie->nextFrame();
}
$Movie->save("Moive.swf");
作成したファイル クリック
- ◎親が拡大すると子も拡大する
-
ming_useSWFVersion(5);
$Movie = new SWFMovie();
$Movie->setDimension(10*5,10*5*5);
$Movie->setFrames(20);
$move_movie = $Movie->add($mcMove);
for($i=0,$m=1,$s=1;$i<20;$i++){
if($i%3 == 0){
$m *= -1;
if($m < 0){
$s = 1.2;
}else{
$s = 0.8;
}
}
$move_movie->scaleTo(2*$s,2*$s);
$Movie->nextFrame();
}
$Movie->save("Moive.swf");
ポイントは拡大の仕方です。(0,0)を中心に拡大縮小します。
作成したファイル クリック
最後に
movieclipを使うと複雑なアニメーションを複数の単純なアニメーションに分けて作成
することができます。これはとても便利ですね。
それだけではありません。movieclipは替えがききます。回転するmovieclipと移動するmovieclipは
まったく違う動作をしますが、それらを扱うmovieclipにとっては
回転していようが移動していようがまったく関係なくプログラムすることができます。
つまり再利用性も抜群なわけです。
えーと、actionscript使うともっとすごいことになります。
興味のある方は、次回を待て!!
戻る