Tag: ActionScript

ボタンのロールオーバーをswitch文で書く

ActionScriptでボタンのロールオーバーをするのにいろいろ方法はあると思うんですが、switch文を使ったらどうなるのかやってみたメモ。

ボタンmcに2フレーム用意し、event.typeでマウスイベントの種類で振り分ける感じ。

//URL用変数宣言
var urlGet:URLRequest = new URLRequest("http://www.mops.jp/");

//ボタン
btn_mc.buttonMode = true;

btn_mc.addEventListener(MouseEvent.ROLL_OVER,btnevent);
btn_mc.addEventListener(MouseEvent.ROLL_OUT,btnevent);
btn_mc.addEventListener(MouseEvent.CLICK,btnevent);

function btnevent(event:MouseEvent):void {
  switch (event.type) {

   case MouseEvent.ROLL_OVER :
      btn_mc.alpha = 0.8;
      btn_mc.gotoAndStop(2);
      break;

   case MouseEvent.ROLL_OUT :
      btn_mc.alpha = 1;
      btn_mc.gotoAndStop(1);
      break;

   case MouseEvent.CLICK :
      navigateToURL(urlGet);
      break;

  }
}

btneventだけなので見た目わかりやすい気がします。

画像をフェードインする

ActionScriptで画像のフェードインをする。完全に表示されたら再度消える。

//初期状態は完全に透過
txt_mc.alpha = 0;

//イベントリスナー設定
txt_mc.addEventListener(Event.ENTER_FRAME,doAlpha);

function doAlpha(event:Event) {
//透過のスピード
txt_mc.alpha += 0.01;

//完全に表示されたら再び消える
if (txt_mc.alpha >= 1) {
txt_mc.alpha = 0;
   }
}

完全に表示されたとき(alpha=1の時)にリピートさせずに停止するにはremoveする。

txt_mc.removeEventListener(Event.ENTER_FRAME,doAlpha);

This movie requires Flash Player 9

AS3.0にちょこっと触れてみた

とりあえず今後身に付けたいとスキルとしてはFlashは外せない気分の僕です。ただ、Flashに関しては右も左もわからないほぼ素人なので、専門用語バリバリの書籍眺めても「なんのことやら」なんですよね、これが。

ActionScriptはもちろんのこと、JavascriptやPHPとかおよそ「プログラム」と呼ばれるものに対しての苦手意識というか拒否反応があるので、今まで少し本を開いてはやる気を失くし開いてはやる気を失くし、、、の繰り返し。

ASと言えばgetURLとかstop()とかgotoAndPlay()とかくらいしかワカラナイのですが、無理矢理でもやらないとなぁと正直焦ってます。

とりあえず記述の仕方とかから始めてみようと思ってます。いきなりAS2.0スルーで。

addEventListenerとはなんぞや

いろいろ見てるとやたらと出てくるaddEventListener。いきなりよく分かりませんが、まぁイベントを追加する命令文(?)みたいなもの?

インスタンス名.addEventListener(イベント,リスナー関数);
function リスナー関数(イベントオブジェクト:Event):void {
   ステートメント;
}

みたいな感じの記述らしい。

btnというボタンをクリックしたらhogehogeという仕事(例えば次のフレームに進む)みたいな場合は

btn.addEventListener(MouseEvent.CLICK,hogehoge);
function hogehoge(event:MouseEvent):void {
   nextFrame();
}

っていう具合。

ちなみのこの「MouseEvent」ってのにもいろいろと種類があるらしく、

  • MouseEvent.CLICK
  • MouseEvent.DOUBLE_CLICK
  • MouseEvent.MOUSE_DOWN
  • MouseEvent.MOUSE_UP
  • MouseEvent.MOUSE_MOVE
  • MouseEvent.ROLL_OVER
  • MouseEvent.MOUSE_OVER
  • MouseEvent.ROLL_OUT
  • MouseEvent.MOUSE_OUT

などなど。

はい、覚えないといけないことがたくさんでいきなりヘコみますが、コツコツやっていきます。果てしない道の第一歩・・・苦笑