atenxa.meter.simple のソースコード

# -*- coding: utf-8 -*-
"""シンプルなサンプル速度計

atenxa.meter.MeterBaseを継承して速度計に仕立てるサンプルです。
"""
from atenxa.meter import MeterBase

# オリジナルの速度系クラスを作る場合は、このファイルに書き足さずに、
# コピーしたモジュールをatenxaの外のディレクトリに置いて編集してください。
# その際以下のコメントを外して、activateができるようにするといいです。
# from atenxa.meter import activate

[ドキュメント]class MeterSimple(MeterBase): """シンプルなアナログ速度計(120km/h) 211系風のシンプルなアナログ速度計です。 I.MAGIC Blog & バージョン5公式マニュアルでサンプルとして配布されていた テクスチャーを使用します。 http://www.imagic.co.jp/devblog/2008/11/24/%e9%80%9f%e5%ba%a6%e8%a8%88%e3%81%ae%e3%83%86%e3%82%af%e3%82%b9%e3%83%81%e3%83%a3%e3%83%bc/ Example: 編成スクリプトのイベントハンドラ直下にactivate関数を書き込みます。 編成リソースのID=1のテクスチャーを使用する例です。 >>> def vrmevent_xx(obj,ev,param): ... atenxa.meter.activate(obj,ev,param, atenxa.meter.MeterSimple, 1) """
[ドキュメント] def setup(self): # ここでnew_sprite()して基本的な設定をしておくとよい。 # Spriteのインスタンスは好きな名前のクラス属性に突っ込んでください。 #self.needle = self.new_sprite() #self.needle.SetUV(164,252, 256,256) #self.needle.SetTranslate(504,844) # 針の回転角度はdisplayメソッドで速度に基づいて計算。 #self.meterbase = self.new_sprite() #self.meterbase.SetUV(0,0, 240,240) #self.meterbase.SetTranslate(384,724) #self.meterbase.SetColor(1,1,1,1) pass
[ドキュメント] def display(self): spd = self._train.GetSpeed() #LOG(spd) if spd < 20.0: rot = spd * 1.1 - 202 else: rot = (spd - 20.0) * 2.02 - 180.0 self.needle.SetRotate(0,2, rot) self.needle.SetSprite() self.meterbase.SetSprite()