Notice
Recent Posts
Recent Comments
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today
Total
관리 메뉴

만재송

[Cocos Creator] Tiled Map 정복하기 (4) - Object 이동하기 본문

프로그래밍/COCOS Creator

[Cocos Creator] Tiled Map 정복하기 (4) - Object 이동하기

만재송 2018. 2. 12. 00:57

Object 이동


이전장까지 글을 읽었으면 오브젝트 위치에 Sprite 노드를 옮기는것 까지 완료했을것이다. 이번에는 Spite 노드를 키보드를 통해서 움직이는 예제를 만들어 보겠다.


기존에 만들었던 TiledMap 스크립트를 열어서 키보드 이벤트를 추가하자.


addKeyboardListener: function () {
var self = this;
var tileSize = this.tiledMap.getTileSize();
this.listener = cc.EventListener.create({
event: cc.EventListener.KEYBOARD,
onKeyPressed: function (key, event) {
    switch(key) {
    case 65:
        cc.log("left");
        break;
    case 83:
cc.log("bottom");
        break;
    case 68:
cc.log("right");
        break;
    case 87:
cc.log("top");
        break;
    }
}
});
cc.eventManager.addListener(this.listener, this.target);
},


굳이 설명하자면 65, 83, 68, 87 은 키보드로 a, s, d, w 이다.


이제 키보드를 통해서 타일 크기만큼 이동시키면 된다. (막상 포스팅 하고나니 너무 간단하다....)


addKeyboardListener: function () {
var self = this;
var tileSize = this.tiledMap.getTileSize();
this.listener = cc.EventListener.create({
event: cc.EventListener.KEYBOARD,
onKeyPressed: function (key, event) {
    switch(key) {
    case 65:
        self.target.x -= tileSize.width;
        break;
    case 83:
self.target.y -= tileSize.height;
        break;
    case 68:
self.target.x += tileSize.width;
        break;
    case 87:
self.target.y += tileSize.height;
        break;
    }
}
});
cc.eventManager.addListener(this.listener, this.target);
},


위와 같이 코드를 작성하고 실행해보자. 키보드 a, s, d, w 를 클릭하면 움직이는 외계인을 볼수 있을것이다.









Tiled Map 정복 시리즈



Comments