만재송
[Cocos Creator] Tiled Map 정복하기 (6) - Tile Map 제거 본문
아이템을 먹어보자
아이템이 있는 타일에 도착했을 때 아이템을 없애는 기능을 추가하자. 기존에 만든 TiledMap 스크립트를 실행시키면 아이템에 있는 타일에 도착했을 때 실행하는 문구가 빠져있다. (실수 아니다.)
setTargetPosition: function (addingTilePos, addingTargetPos) {
var tilePos = cc.v2(this.tilePos.x + addingTilePos.x, this.tilePos.y + addingTilePos.y);
var tileGID = this.metaLayer.getTileGIDAt(tilePos);
if (tileGID) {
var properties = this.tiledMap.getPropertiesForGID(tileGID);
if (properties != null) {
if (properties["collisionType"] === "obstacle") {
return;
} else if (properties["collisionType"] === "item") {
}
}
}
this.tilePos = tilePos;
this.target.x += addingTargetPos.x;
this.target.y += addingTargetPos.y;
},
이제 else if 문을 채울시간이다. 아래와 같이 추가해보자.
setTargetPosition: function (addingTilePos, addingTargetPos) {
var tilePos = cc.v2(this.tilePos.x + addingTilePos.x, this.tilePos.y + addingTilePos.y);
var tileGID = this.metaLayer.getTileGIDAt(tilePos);
if (tileGID) {
var properties = this.tiledMap.getPropertiesForGID(tileGID);
if (properties != null) {
if (properties["collisionType"] === "obstacle") {
return;
} else if (properties["collisionType"] === "item") {
this.metaLayer.removeTileAt(tilePos);
this.itemLayer.removeTileAt(tilePos);
}
}
}
this.tilePos = tilePos;
this.target.x += addingTargetPos.x;
this.target.y += addingTargetPos.y;
},
아이템 타일에 도달했을 때 해당 위치에 있는 타일의 좌표를 이용해서 타일을 제거하는 방식이다. 해당위치에 있는 metaLayer, itemLayer에 있는 타일을 removeTileAt 메서드를 이용하여 삭제한다. 물론 itemLayer 를 사용하기 위하여 onLoad에 itemLayer 프로퍼티를 추가하는것도 잊지마라.
this.itemLayer = this.tiledMap.getLayer("Item");
실행하면 외계인이 선인장에 도달했을때 사라지는 기능을 보게될것이다.
참고
Tiled Map 정복 시리즈
- Tiled Map 정복하기 (1) - Tiled Map Editor 설치하기
- Tiled Map 정복하기 (2) - Tiled Map Editor 사용하기
- Tiled Map 정복하기 (3) - Object Layer 추가하기
- Tiled Map 정복하기 (4) - Object 이동하기
- Tiled Map 정복하기 (5) - 충돌체 구현
- Tiled Map 정복하기 (6) - Tile Map 제거
'프로그래밍 > COCOS Creator' 카테고리의 다른 글
[Cocos Creator] 캡쳐 (0) | 2018.03.25 |
---|---|
[Cocos Creator] UI 배치하기 (Widget) (0) | 2018.02.14 |
[Cocos Creator] Tiled Map 정복하기 (5) - 충돌체 구현 (0) | 2018.02.12 |
[Cocos Creator] Tiled Map 정복하기 (4) - Object 이동하기 (0) | 2018.02.12 |
[Cocos Creator] Tiled Map 정복하기 (3) - Object Layer 추가하기 (0) | 2018.02.12 |
Comments