LoginSignup
1
1

More than 5 years have passed since last update.

tmlib-rpg キャラクターの作成(2) rpg.Character / rpg.SpriteCharacter

Posted at

素材(Asset)の定義ができたので、それを使って、歩行アニメーションとかもろもろを実装中。

使い方は以下のような感じ。

tm.define 'MainScene',
  superClass: rpg.SceneBase

  init: ->
    # 親の初期化
    @superInit()

    @characters = [
      new rpg.Character()
      new rpg.Character()
      new rpg.Character()
      new rpg.Character()
    ]
    rpg.SpriteCharacter(c).addChildTo(@) for c in @characters

    @characters[0].moveTo(5,5).direction = 'left'
    @characters[1].moveTo(6,5).direction = 'right'
    @characters[2].moveTo(7,5).direction = 'up'
    @characters[3].moveTo(8,5).direction = 'down'

ss20131019a.png

new 演算子を使ってるのは、内部のクラスは、tmlib を使ってないから…
せっかく CoffeeScript を使うようになったし内部クラスは、依存性を低めに…

rpg.SpriteCharacter が参照している rpg.Character クラスを変更すると、それを監視して、表示される。

裏でいろいろデータを変更して、表示時にそれをすべて反映させるために的な?
もともとRGSSがこう言う作りってのもあるけど、処理が分離されてて、良いと思う。

RPGのイベントとか、町の人とかの移動ルート設定関連は、内部で全部解決という感じにできるはず…
あとは、マップを作成して、表示領域にも対応しないとスクロールとかとか。まだまだつくるものいっぱい。

ついでに、grunt でテストをするようにしました。

参考にしたのは、こちら
Mocha + Chai で CoffeeScript を Grunt で自動テスト

direction はプロパティにしたけど、setDirection(...) とかあったほうが、チェーンできて良いかも?
両方つくればいいのかな。あまり用意すると混乱しそうだけど…
setter/getterがプロパティ対応で作れるので面白いと思うけど、混乱の元な気がしないでもない
便利なんだけど。
プロパティで作れるから、さらに set/get 系のメソッドは作りたくないって感じも~
へふ~

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1