tmlib-rpg 캐릭터의 작성 (2) rpg.Character/rpg.SpriteCharacter

소재(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'



new 연산자를 사용하고 있는 것은, 내부의 클래스는, tmlib 를 사용하고 있지 않기 때문에…
모처럼 CoffeeScript 를 사용하게 되었고 내부 클래스는, 의존성을 낮게…

rpg.SpriteCharacter 가 참조하고 있는 rpg.Character 클래스를 변경하면(자), 그것을 감시해, 표시된다.

뒤에서 여러 가지 데이터를 변경하고, 표시시에 그것을 모두 반영하기 위해서?
원래 RGSS가 이렇게 말하는 것도 있지만, 처리가 분리되어 좋다고 생각한다.

RPG의 이벤트라든가, 마을의 사람이라든가의 이동 루트 설정 관련은, 내부에서 전부 해결이라고 하는 느낌으로 할 수 있을 것이다…
그리고는, 맵을 작성해, 표시 영역에도 대응하지 않으면 스크롤이라든가. 아직도 만드는 것 가득.

그런 다음 grunt로 테스트를 시작했습니다.

참고로 한 것은, 이쪽
Mocha + Chai에서 CoffeeScript를 Grunt로 자동 테스트

direction 는 프로퍼티로 했지만, setDirection(...) 라든지 있던 쪽이, 체인 할 수 있어 좋을지도?
둘 다 만들면 좋을까. 너무 많이 준비하면 혼란스러워 보이지만 ...
setter/getter가 프로퍼티 대응으로 만들 수 있기 때문에 재미 있다고 생각하지만, 혼란의 원래 생각이 들지 않아도
편리하지만.
프로퍼티로 만들 수 있기 때문에, 한층 더 set/get 계의 메소드는 만들고 싶지 않다고 느낌도~
헤후~

좋은 웹페이지 즐겨찾기