トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     ActionScript 3.0ではどう書くの?
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
shikada
Åê¹ÆNo.29994
投稿日時: 2006-11-15 17:14
新米
居住地:
投稿: 14
使用環境:
Re: ActionScript 3.0ではどう書くの?
基本的なことかも知れませんが、質問です。。。

例えば、ボタンが押されたらEntarFrameイベントを発動させたい、
という場合、ボタンインスタンスのスクリプトは、

AS2では
onRelease = function(){
  var counter:Number = 0;
  onEnterFrame = function(){
    trace(++counter);
    if(counter>10){
      delete onEnterFrame;
    }
  }
}

のように、ひとつの関数内で完結できますが、
AS3では
var counter:int;
addEventListener(MouseEvent.MOUSE_UP,mouseUpHandler);

function mouseUpHandler (e:MouseEvent):void{
  counter=0;
  addEventListener(Event.ENTER_FRAME,enterFrameHandler);
}

function enterFrameHandler(e:Event):void{
  trace(counter++);
  if(counter>10){
    removeEventListener(Event.ENTER_FRAME,enterFrameHandler);
  }
}

のように、
一度ボタン押下イベント関数を呼んでから更に
EntarFrameイベント関数を呼んであげなくちゃならない、
という認識なのですが、
ソースが冗長な感が否めません。
こういう書き方だと関数が矢鱈多くなってしまいそうなんですが、
認識としては合っていますでしょうか?

もっとシンプルに書ける方法、
別な書き方とかあるのでしょうか?
よろしくお願いします。

フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   ActionScript 3.0ではどう書くの? Fumio 2006-7-22 11:42
     Re: ActionScript 3.0ではどう書くの? Fumio 2006-7-22 11:45
       Re: ActionScript 3.0ではどう書くの? ymori 2006-7-22 12:33
         Re: ActionScript 3.0ではどう書くの? kahiro 2006-7-22 13:36
       Re: ActionScript 3.0ではどう書くの? rindo 2006-7-22 17:45
         Re: ActionScript 3.0ではどう書くの? Fumio 2006-7-22 18:43
           Re: ActionScript 3.0ではどう書くの? rindo 2006-7-22 18:57
           Re: ActionScript 3.0ではどう書くの? rindo 2006-7-30 14:04
             Re: ActionScript 3.0ではどう書くの? Fumio 2006-7-30 20:47
               Re: ActionScript 3.0ではどう書くの? rindo 2006-7-30 21:19
     Re: ActionScript 3.0ではどう書くの? Fumio 2006-10-7 23:23
     » Re: ActionScript 3.0ではどう書くの? shikada 2006-11-15 17:14
         Re: ActionScript 3.0ではどう書くの? Fumio 2006-11-15 23:39
           Re: ActionScript 3.0ではどう書くの? shikada 2006-11-16 9:35

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops