Monthly Archives: 2月 2010

コンポーネントを使ったボタン(Button)

実制作では直接使うことはほとんどないと思いますが、応用はできる気がするのでコンポーネントを利用したボタンを作ってみました。

ボタンコンポーネントはウィンドウ→コンポーネント→UserInterface→Buttonをstageまでドラッグし、パラメータでlabelの変更(ここではPhoto01とPhoto02)を行ないます。

それぞれにインスタンス名btn01、btn02をつけ、ASでイベントを設定。今回はswitch文でボタンlabelで条件分岐してます。

stop();

 //イベントリスナ
 btn01.addEventListener(MouseEvent.CLICK,movePhoto);
 btn02.addEventListener(MouseEvent.CLICK,movePhoto);

 function movePhoto(event:MouseEvent):void {

  //ボタンラべルでフレームを移動
  switch (event.currentTarget.label) {

  case "Photo01" :
   gotoAndStop("ph01");
   break;

   case "Photo02" :
   gotoAndStop("ph02");
   break;
  }
}

This movie requires Flash Player 9

マウスに追従するSprite

This movie requires Flash Player 9

円のローカル座標とマウスの位置関係から。

//半径10pxの黒丸を描写
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0x000000);
circle.graphics.drawCircle(15,20,10);
addChild(circle);

var cx:int;
var cy:int;

//マウスの後を追いかける(マウスとローカル座標の距離を詰める)
circle.addEventListener(Event.ENTER_FRAME, moveCircle);

 function moveCircle(event:Event):void {

  cx = circle.mouseX;
  cx = circle.mouseY;

  circle.x += cx/5;
  circle.y += cy/5;
}

WebClip:Room

Room | 株式会社ルーム

心地いいインターフェース。searchコンテンツが特に。

addChildでライブラリから呼び出す

ライブラリのムービークリップを右クリックしてプロパティ(リンケージプロパティ)を選択後、任意のクラス名を指定する。

_mcというムービークリップを新しく作り、addChildでステージに配置します。呼び出しはnew + 上記で指定したクラス名。

下の例では配置したムービークリップを左から右へ移動させ、右側に消えると最初の位置に戻るようにしています。

(入れ子でムービークリップ自体もフェードアウトリピート(省略))

//オブジェクトをインスタンス化
var _mc:MovieClip = new Ghost();
addChild(_mc);

//配置位置
_mc.x = -40;
_mc.y = 150;

//インスタンスの移動
_mc.addEventListener(Event.ENTER_FRAME,doSlide);

function doSlide(event:Event) {

  //移動スピード
  _mc.x += 8;

  //右に完全に消えると最初の位置に戻る
  if (_mc.x >= 648) {
    _mc.x = -40;
    }
}

※「648」はインスタンスの横サイズ526pxの半分(128px)にステージのサイズ520pxを加算したもの。(基準点が中心のため)

This movie requires Flash Player 9