忍者ブログ
日々の足跡をなんとなく綴って行いこうかと。
[224] [223] [222] [221] [220] [219] [218] [217] [216] [215] [214]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

前回から20日ほど間をおいて再びActionScriptをいじってみた。
やはりアレだね、間をおくと見えなかったものが見えてくるね。
CPUが圧迫されていた理由が分かったよ。
必要のない描画を毎フレーム毎フレームやってたんでどんどん圧迫されていったらしい。
ActionScriptの描画は、一度描いたらずらすだけで良いってことを肝に銘じておかねば。

で、必要なときにだけ描けるように下のようなクラスに。
いや、誰が見るんだよってはなしだが、自分用の覚書?
基底クラスのdrawメソッドのfinalと、
継承クラスのdrawBodyメソッドのprotectedがポイントか。
実際にはコンパイル通らないけど、イメージってことで。


//=========================
// メインクラス
//=========================
class Main
{
    private var _frameTimer:Timer; // フレームレートクラスを呼び出すタイマー
    private var _base:Base; // 描画物
    //--------------------------------------
    // コンストラクタ
    //--------------------------------------
    public function MyKeyEvent()
    {
         // 描画物生成
        _base = new MyCircle();

         // フレーム管理用タイマー設定
         _frameTimer = new Timer(42, 0);
         _frameTimer.addEventListener(TimerEvent.TIMER, sequence);
         _frameTimer.start();
     }

    //--------------------------------------
    // フレーム毎の処理
    //--------------------------------------
    public function sequence(e:TimerEvent):void
    {
         // 描画
          _base.draw();
    }
}

//=========================
// 描画物の基底クラス
//=========================
class Base
{
    //-----------------
    // メンバ
    //-----------------
    private var _isNeedDraw:Boolean = true; // 描画する必要があるか否か
    
    //-----------------
    // メソッド
    //-----------------
    // 描画
    // 外から呼ばれるメソッド
    public final function draw():void
    {
         // 描画する必要があるか判定
         if(_isNeedDraw){
          // 描画
          drawBody();
    
          // 描画後、描画必要フラグを下げる
          _isNeedDraw = false;
         }
    }
  
    // 描画の本体
    // このメソッドをオーバーライドして描画物を定義する
    protected function drawBody():void{}
}

//=========================
// 描画物 - 円形 -
//=========================
class MyCircle extends Base
{
    //-----------------
    // メソッド
    //-----------------
    // 描画
    protected override function drawBody():void
    {
       graphics.beginFill(color);
       graphics.drawCircle(0, 0, radius);
    }
 }

PR

コメント
むーう
書いてあることの意味は全然わからないけど、没頭してるなーってことはなんとなく(笑)

俺も次を書かんと…
【2009/11/25 19:50】 NAME[ジャッカル草壁] WEBLINK[] EDIT[]
おう
お仕事で好きに作れない分、
これで発散w
楽しみにしてるぜ~
【2009/11/27 00:23】 NAME[Takaten] WEBLINK[] EDIT[]


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
カウンター
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
最新コメント
[02/21 ワッティー]
[10/18 Y的な]
[05/08 十日夜]
[04/26 ジャッカル草壁]
[01/29 十日夜]
最新トラックバック
プロフィール
HN:
Takaten
性別:
非公開
ブログ内検索
アクセス解析