ミームメモ開発日誌 >> 過去の日誌 >> 2008年 4-6月 >>

ミームメモのテストを兼ねた開発日誌です。オフィシャルなものではありませんので、バグや要望などは*memememo*管理者アカウントまでお願いします。

初めて来られた方は、ミームメモのトップページにデモへのリンクがありますので、まだ発展途上ではありますが、ぜひ一度お試しください。

最新更新日時: 2011年08月13日 16時42分
このフォルダのページビュー: 372685
[OpenLaszlo TIPS] タイマーを使ったフレームアニメーション
OpenLaszloではSWFファイルの再生が30フレーム/秒に固定されているため、同時にたくさんのSWFアニメーションを表示すると絶望的に重くなります。複数フレームのリソースを用意し、animatorでフレーム番号を変更する方法もありますが、呼び出しの間隔を設定することができないので、結局同じような結果になります。

低いfpsで少ない枚数の絵を繰り返すタイプのアニメーションでは、負荷を減らすために、待ち時間を自由に設定できるLzTimerを利用しましょう。
<?xml version="1.0" encoding="UTF-8"?>
<canvas fontsize="24">
  <resource name="rsc_sample">
    <frame src="image1.png"/>
    <frame src="image2.png"/>
    <frame src="image3.png"/>
    <frame src="image4.png"/>
  </resource>

  <view resource="rsc_sample">
    <handler name="oninit">
      this.animDel = new LzDelegate(this, "doAnimation");
      this.doAnimation();
    </handler>

    <method name="doAnimation">
      // 4はフレーム数
      this.setResourceNumber((this.frame % 4) + 1);
      // 100は呼び出し間隔 (1/1000秒単位)
      LzTimer.resetTimer(this.animDel, 100);
    </method>
  </view>
</canvas>
タグ: OpenLaszlo animation
作成: 2008年06月11日 21時48分 / 更新: 2009年06月26日 22時42分

【このカードへのコメント】

memememo.com by meme design