VRMONLINE-NX 編成でスプライト

βテストにご参加いただきまことにありがとうございます。

編成部品でスプライトを使用するサンプルスクリプトです。

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
# 以下省略
編成でスプライト