Home > ActionScript 3.0入門編 > lesson1

lesson1 Archive

クリック制御でフェードを繰り返すムービークリップ[1-9]

クリックでフェードを繰り返し、ダブルクリックでフェードの繰り返しを停止

[1-8]で使用したアクションスクリプトにクリックイベントとダブルクリックイベントのイベントリスナーを追記します。
ここで注意なんですがダブルクリックイベントを使用するためには、宣言が必要になりますので、わかりやすいところに何をダブルクリックに使うか宣言します。(今回はステージにしました)

//ダブルクリック宣言
stage.doubleClickEnabled = true;

クリックされた時にフェードインが始まり、表示されたらフェードアウトする動作になるので、クリックされた時にフェードを繰り返すプログラムを呼び出すイベントリスナーを書きます。

//イベントリスナー登録
stage.addEventListener(MouseEvent.CLICK,alphaImg);
stage.addEventListener(MouseEvent.DOUBLE_CLICK,stopAlpha);

//クリックされたプログラム関数
function alphaImg(event:MouseEvent):void{
	//クリックされたらイベントリスナー登録
	img_mc.addEventListener(Event.ENTER_FRAME,imgAlpha);
}

Continue reading

フェードインするムービークリップ[1-8]

フェードインする画像

新規シンボルでムービークリップに画像を用意し、インスタンス名を付けます。(今回はimg_mcにしました)
さらにActionScript用レイヤーを新規作成します。

用意したActionScriptレイヤーにアクションスクリプトを書いていきます。
ムービークリップの初期状態を非表示にします。厳密に言うと非表示ではなく、透明度で透過にさせることです。

//初期状態を非表示
img_mc.alpha = 0;

イベントリスナーのイベントのENTER_FRAMEでムービークリップが読み込まれたら、再生させ「alpha = 0」から「alpha = 1」になり、非表示から表示になるフェードインのカラクリになります。

Continue reading

ムービークリップをボタンでコントロールする[1-7]

ボタンを押してムービークリップを再生、停止させる(イベントリスナー編)

[1-6]はタイムライン制御でムービークリップを再生させましたが、今回はタイムラインを使わずにイベントリスナーのみでムービークリップをコントロールします。

[1-5]で使用したアクションスクリプトを利用して、ボタン制御のプログラムを追加したいと思います。
新規シンボルでボタンをステージに配置し、インスタンス名を付けます。(今回はstart_btnにしました)
さらに今回はストップ用ボタンも同じような手順でステージに配置し、インスタンス名を付けます。(今回はstop_btnにしました)

[1-5]のアクションスクリプトにボタンを押した時のプログラムを足していきます。
まず、ボタンが押された時のイベントリスナーを登録し、さらにボタンが押されたら実行するイベントリスナーを登録するみたいな感じなりますが、ボタンが押された時のイベントリスナーが[1-5]で使用したイベントリスナーになります。
実はイベントリスナーで実行するプログラムの中に、さらに実行するイベントリスナーを登録することができるんです。

//スタートボタンを押した時のイベントリスナー
start_btn.addEventListener(MouseEvent.CLICK,ballStart);

function ballStart(event:MouseEvent):void{
	//ボタンが押された時のイベントリスナー
	ball_mc.addEventListener(Event.ENTER_FRAME,ball);
}

Continue reading

ムービークリップをボタンでコントロールする[1-6]

ボタンを押してムービークリップを再生させる(タイムライン制御編)

イベントリスナーのイベントのENTER_FRAMEを使うとフレームが読み込まれた時点で、再生してしまいますので、ボタンを用意したところで関係なしに再生されてしまいます。
そこでボタンを違うフレームに用意し、ボタンが押されたら、再生したいムービークリップのフレームに移動させて再生させるみたいなカラクリになります。

ball_button

1フレーム目にボタンを押した時のアクションスクリプトを用意し、2フレーム目にムービークリップのアクションスクリプトを用意します。
新規シンボルでボタンをステージに配置し、インスタンス名を付けます。(今回はstart_btnにしました)

Continue reading

ムービークリップにActionSprictを書く[1-5]

イベントリスナー(addEventListener)を使ってムービークリップを反復運動させる

[1-4]では指定した位置に来たら、処理をやめるプログラムを書きましたが、今回は反復運動させます。(永久運動)
今回はさらに、イベント処理にいくつか変数を使ってアクションスクリプトを書きていきます。

ActionScript3.0からプログラムで変数を使うには、必ず宣言が必要になりましたので、今回使う変数を宣言します。
今回使う変数は、X軸の数値(スピード)、オブジェクトの角度の数値(回転)、ステージ幅の数値、インスタンスの幅なので、まずは変数を宣言していきます。

var speedx:Number = 5;  //スピード
var cicle:Number = 10;  //回転
var mcWidth:Number = ball_mc.width / 2;//インスタンス横幅の半径
var stageL:Number = 0 + mcWidth;//幅の最小値
var stageR:Number = stage.stageWidth - mcWidth;//幅の最大値

ここで注目すべきは、ステージの幅にインスタンスの幅の半分を足したり、引いたりしているところです。
これはインスタンスの基準点が真ん中に設定されているので、ステージの数値をそのまま指定すると基準点がステージ幅の数値にきた時に反転してしまう為の回避方法です。

Continue reading

ムービークリップにActionSprictを書く[1-4]

イベントリスナー(addEventListener)を使ってムービークリップを動かして止める

今までのプログラム処理をより実践的な書き方にします。
ActionScript2.0からActionScript 3.0になって、一番変わったのがイベント処理の書き方になると思います。
AS3.0から新たに登録されたイベントリスナー(リスナー関数)と言う関数をインスタンスに登録し、目的の処理を行います。
※イベントリスナーについては、改め解説したいと思います。

[1-2]で書いたスクリプトをイベントリスナーに置き換えます。(今回からシンボルとインスタンス名が変更になっています)

//イベントリスナー登録
ball_mc.addEventListener(Event.ENTER_FRAME,ball);

//プログラム関数
function ball(event:Event):void {
	ball_mc.x += 5;
	ball_mc.rotation += 10;
	if (ball_mc.x > 430){  //条件分岐
		ball_mc.removeEventListener(Event.ENTER_FRAME,ball);
	}
}

Continue reading

ムービークリップにActionSprictを書く[1-3]

ムービークリップの動きを止める為の条件分岐(if文)

[1-2]でムービークリップを右に回りながら移動するようにアクションスクリプトを書きましたが、このままだと物体が右に消えてしまいます。
なぜならプログラムの処理が、見えなくなっても物体が永遠に右に回りながら移動しているからです。

そこである目的の位置まできたら、物体を止める処理(プログラムの停止)を追加する必要があります。

stop();

見ても意味合いがあかると思いますが、ストップさせます。
ではこのストップを目的の位置まできたら、止まりないさいと言うプロブラムを[1-2]のスクリプトに追加します。

Continue reading

ムービークリップにActionSprictを書く[1-2]

ムービークリップを右に移動させる

[1-1]で使ったムービークリップに、今度はもう少し動きを付け加える

timeline

symbol_mcがあるレーヤーのタイムラインに1フレームを追加し、as3.0レイヤーのタイムラインにキーフレームを追加します。
symbol_mcを右に動かす為には、フレームが読み込まれるたびにsymbol_mcがX軸を+5移動するみたいんば感じのActionScriptを書けばいいので

symbol_mc.x += 5;  //+5づつ移動

になります。

Continue reading

ムービークリップにActionSprictを書く[1-1]

ムービークリップの表示を変える(角度)

ステージ上に正方形を作り、左クリック→シンボルに交換→ムービークリップで任意に名前を付けます。
次にプロパティーパネルからインスタンス名を設定します。今回はsymbol_mcにしました。
これでステージ上のシンボルがインスタンス名(symbol_mc)で登録され、アクションを書くことが出来ます。

いよいよ、シンボルにアクションを書いていきますが、その前にF9を押してアクションパネルを表示させます。
さらにActionScript用レイヤーを新規作成します。(ActionScript用レイヤーだと分かるようにレイヤー名をas3.0にすると便利)
※AS2.0では直接ムービークリップに書くことが出来たんですが、AS3.0からは出来なくなりました。

まずは簡単に実験です。

//出力パネルに表示
trace(shikaku_mc);

出力パネルに[object MovieClip]と出れば、ステージにあるムービークリップを認識しています。

Continue reading

ホーム > ActionScript 3.0入門編 > lesson1

Feeds
Meta

Return to page top