βテストにご参加いただきまことにありがとうございます。
編成部品でスプライトを使用するサンプルスクリプトです。
485系クハの車両テクスチャーから、ヘッドマークと方向幕をスプライトで表示しています。
(車両テクスチャーは、部品の組み込みテクスチャーを保存して、編成リソースに登録してください。)
実装については、下記コードのコメントをご参照ください。
ヘッドマーク
(0,0)から84*72 pixel
方向幕
(0,78)から128*44 pixel
#OBJID=6
import vrmapi
#global変数でスプライトオブジェクトを格納する変数を宣言
global tr_sprite
def vrmevent_6(obj,ev,param):
#global変数を使うことを指定
global tr_sprite
if ev == 'init':
# initイベントでスプライトオブジェクトを生成
# スプライトオブジェクトの生成は、LAYOUTの関数
tr_sprite = vrmapi.LAYOUT().CreateSprite()
# 編成のリソースからテクスチャーを読み込む
# サンプルのテクスチャーは、リソース番号1
tr_sprite.LoadTrainTexture(obj.GetID(), 1)
# フレームイベントを設定
obj.SetEventFrame()
elif ev == 'broadcast':
dummy = 1
elif ev == 'timer':
dummy = 1
elif ev == 'time':
dummy = 1
elif ev == 'after':
dummy = 1
elif ev == 'frame':
# スプライトは毎フレーム、設定する
# UV, POSを指定して、SetSpriteで登録
# 1枚めのスプライトを設定(ヘッドマーク)
tr_sprite.SetUV(0,0,84,72)
tr_sprite.SetPos(0,100,84*2,100,0,100+72*2,84*2,100+72*2)
tr_sprite.SetSprite()
# 2枚めのスプライトを設定(方向幕)
tr_sprite.SetUV(0,78,128,78+44)
tr_sprite.SetPos(0,300,128,300,0,300+44,128,300+44)
tr_sprite.SetSprite()
elif ev == 'couple':
dummy = 1
# 以下省略