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

ActionScript3.0 ビジュアル・リファレンスActionScript3.0 ビジュアル・リファレンス
(2008/03/11)
トップスタジオ

商品詳細を見る
2.0とは別物だった。


CS3が手に入って数週間。
ずっとAS2.0ばっかりやっていましたが、そろそろ3.0も触ろうかと。
そう思って、今日挑戦してみました。

・・・ですが。

あまりの違いに驚きを隠せません。

まだ、3.0にするのは早いのかっ!?


独学道場より引用)

さて、早速挑戦。
やっぱり、AS使うからには、イベント処理をしたい。
そこで、ボタンが押された時の処理に挑戦。
それが、上記にあるコンテンツです。
矢印を押すと、円が移動します。

・・・記述の仕方がかなり違うので、大変でした。

2.0なら、どうって事ないのに。。。

それでは、ソースです。



function CircleMove( btnNum ) {
if( move_key == true ) {

if( move_dir == "UP" ) {
this.circle_mc.y -= moveNum;

} else if( move_dir == "DOWN" ) {
this.circle_mc.y += moveNum;

} else if( move_dir == "LEFT" ) {
this.circle_mc.x -= moveNum;

} else if( move_dir == "RIGHT" ) {
this.circle_mc.x += moveNum;
}

}
};

function CircleUP( btnNum ) {
move_key = true;
circle_mc.gotoAndStop( "back" );
move_dir = "UP";
};

function CircleDOWN( btnNum ) {
move_key = true;
circle_mc.gotoAndStop( "front" );
move_dir = "DOWN";
};

function CircleLEFT( btnNum ) {
move_key = true;
circle_mc.gotoAndStop( "left" );
move_dir = "LEFT";
};

function CircleRIGHT( btnNum ) {
move_key = true;
circle_mc.gotoAndStop( "right" );
move_dir = "RIGHT";
};

function CircleStop( btnNum ) {
move_key = false;
};

var move_key = false;
var move_dir = "UP";
var moveNum = 5;

this.addEventListener( Event.ENTER_FRAME, CircleMove);

this.up_btn.addEventListener( MouseEvent.MOUSE_DOWN, CircleUP );
this.up_btn.addEventListener( MouseEvent.MOUSE_OUT, CircleStop );
this.up_btn.addEventListener( MouseEvent.MOUSE_UP, CircleStop );

this.down_btn.addEventListener( MouseEvent.MOUSE_DOWN, CircleDOWN );
this.down_btn.addEventListener( MouseEvent.MOUSE_OUT, CircleStop );
this.down_btn.addEventListener( MouseEvent.MOUSE_UP, CircleStop );

this.left_btn.addEventListener( MouseEvent.MOUSE_DOWN, CircleLEFT );
this.left_btn.addEventListener( MouseEvent.MOUSE_OUT, CircleStop );
this.left_btn.addEventListener( MouseEvent.MOUSE_UP, CircleStop );

this.right_btn.addEventListener( MouseEvent.MOUSE_DOWN, CircleRIGHT );
this.right_btn.addEventListener( MouseEvent.MOUSE_OUT, CircleStop );
this.right_btn.addEventListener( MouseEvent.MOUSE_UP, CircleStop );




こんな感じですね。
AS2.0と3.0、どっちが楽ですかね?
慣れてる分、2.0の方が楽な気がしますが。。。
3.0の方が、今後の可能性を感じる事が出来るかも。
・・・あくまで、個人的な意見だけど。

やってる事は、単純。

addEventListener()で呼び出す関数を指定。
呼び出された関数で、処理をするといった具合。

記述は、「インスタンス名.addEventListener( イベント, 関数名 )」でいいみたい。

なお、呼び出された関数で引数を指定しないと、エラーが出る。
インスタンスの情報が送られてくるみたい。
それを受け取る必要があるのだろうか?
まだ良く分かっていないので、分かったらまた載せようと思う。

イベントの記述も、2.0とは大分違ってきている。
この辺も、今後詳しく調べて、特徴を掴みたい。

ただ、とりあえず、動かすくらいなら出来た。
今日はこれくらいで、メモとする。


コメント非表示