어떻게 CocosCreator 로 사격 게임 을 실현 합 니까?
4391 단어 CocosCreator게임.Cocos슈팅 게임
1.자원 을 준비 하고 장면 을 구축한다.
자원 은 스스로 인터넷 에서 찾 을 수도 있 고 내 것 을 직접 써 도 된다.해당 폴 더 를 만 들 고 res 폴 더 아래 에 자원 을 두 기;
필드 구축:
첫 번 째 단계:단색 엘 프(Script)bg 배경 을 만 들 고 색상 을 설정 하 며 Widget 구성 요 소 를 추가 하여 화면 을 가득 채 웁 니 다.
두 번 째 단계:
bg
노드 에서top
과button
빈 노드 를 꼭대기 와 아래쪽 으로 만 든 다음 에 두 개의 빈 노드 에 가시 가 있 는 노드(그림 을 top 등급 관리자 로 끌 어 다 놓 으 면 됩 니 다)를 추가 해 야 합 니 다.지금 우 리 는top button
노드 에 하나Layout
를 추가 해 야 합 니 다.속성 은 그림 과 같 습 니 다.이렇게 하면 화면 상하 에 가시 가 있 는 것 을 볼 수 있 습 니 다.세 번 째 단계:게이머 소인,총알,적기 와 같은 방법 을 장면 에 넣 고 Label 노드 를 만들어 점 수 를 표시 하고 위 치 를 조절 합 니 다.
2.코드 제어 게임
첫 번 째 단계:
game
스 크 립 트 를 만 들 고dg
노드 에 마 운 트 합 니 다.두 번 째 단계:코드 를 편집 하고
properties
에 속성 을 추가 하여 게이머,총알,적의 노드 를 연결 하고 편집기 와 연결 합 니 다.세 번 째 단계:코드 논리 제어,게이머 초기 화,총알,적 포함;감청 사건 등록 하기;동작 함수 쓰기;점수 판단 등;
모든 코드:
cc.Class({
extends: cc.Component,
properties: {
playerNode: cc.Node,
enemyNode: cc.Node,
fireNode: cc.Node,
scoreNode: cc.Label,
},
onLoad () {
this.playLoad();
this.fireLoad();
this.enemyLoad();
this.node.on("touchstart",this.fire,this);
},
update (dt) {
if(Math.abs(this.fireNode.y-this.enemyNode.y)<(this.fireNode.height/3+this.enemyNode.height/3)
&&Math.abs(this.fireNode.x-this.enemyNode.x)<(this.fireNode.width/3+this.enemyNode.width/3)){
console.log(" ");
this.scoreNode.string= ++this.score;//
this.fireNode.stopAction(this.fireAction);
this.enemyNode.stopAction(this.enemyAction);
this.enemyNode.active=false;
this.fireNode.active=false;
this.fireLoad();//
this.enemyLoad();//
}
},
//
onDestroy(){
this.node.off("touchstart",this.fire,this);
},
//
playLoad(){
this.score=0;
this.playerNode.y=-cc.winSize.height/4;
},
//
fireLoad(){
this.fireNode.active=true;
this.isFire=false;
this.fireNode.x=this.playerNode.x;
this.fireNode.y=this.playerNode.y+this.playerNode.height;
},
//
enemyLoad(){
this.enemyNode.active=true;
this.enemyNode.x=Math.random()* cc.winSize.width;
this.enemyNode.y=cc.winSize.height/3;
let x=cc.winSize.width/2-this.enemyNode.width/2;
let y=Math.random()* cc.winSize.height/4;
let seq=cc.repeatForever(cc.sequence(cc.moveTo(1.5,cc.v2(-x,y)),cc.moveTo(1.5,cc.v2(x,y))));
this.enemyAction=this.enemyNode.runAction(seq);
},
//
dear(){
console.log(" ");
cc.director.loadScene("game_scenes");
},
//
fire(){
if(this.isFire) return;
this.isFire=true;
console.log(" ");
var fireaction=cc.sequence(
cc.moveTo(1,cc.v2(this.playerNode.x,cc.winSize.height/2)),
cc.callFunc(()=>{
this.dear();
}));
this.fireAction=this.fireNode.runAction(fireaction);
console.log(" ");
}
});
최종 효과이상 은 CocosCreator 로 사격 미니 게임 을 어떻게 실현 하 는 지 에 대한 상세 한 내용 입 니 다.CocosCreator 로 사격 미니 게임 을 실현 하 는 지 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 해 주 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
CocosCreator v2.1.1에서 셰이더 사용일본어 문서가 압도적으로 적다! 참고서가 압도적으로 적다! CocosCreator를 만지고 있는 분이라면 이해 받을 수 있다고 생각합니다만, 셰이더에 대해서도 v2.0에서 대폭적인 변경이 걸렸다고 합니다. 그 때의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.