어떻게 CocosCreator 로 사격 게임 을 실현 합 니까?

분석 아래 제작 절차:
1.자원 을 준비 하고 장면 을 구축한다.
자원 은 스스로 인터넷 에서 찾 을 수도 있 고 내 것 을 직접 써 도 된다.해당 폴 더 를 만 들 고 res 폴 더 아래 에 자원 을 두 기;
필드 구축:
첫 번 째 단계:단색 엘 프(Script)bg 배경 을 만 들 고 색상 을 설정 하 며 Widget 구성 요 소 를 추가 하여 화면 을 가득 채 웁 니 다.

두 번 째 단계:bg노드 에서topbutton빈 노드 를 꼭대기 와 아래쪽 으로 만 든 다음 에 두 개의 빈 노드 에 가시 가 있 는 노드(그림 을 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 로 사격 미니 게임 을 실현 하 는 지 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 해 주 십시오!

좋은 웹페이지 즐겨찾기