Cocos2d-x简单游戏<捕鱼达人>代码实现|第五部分:游戏类

这个简单的捕鱼游戏Demo只是完成了简单的:

 1.场景切换、数据加载、武器等级更换<大炮的升级>

 2.鱼的随机游动、大炮发射子弹、撒网、捕鱼

 3.子弹、鱼、网的碰撞检测等;

 4.场景及背景音乐的定时更换,碰撞时得音效;

 

  仅供参考、入门练习用例;

 

 第一部分:Cocos2d-x简单游戏<捕鱼达人>代码实现|第一部分:鱼类

 第二部分:Cocos2d-x简单游戏<捕鱼达人>代码实现|第二部分:子弹、渔网、大炮类

 第三部分:Cocos2d-x简单游戏<捕鱼达人>代码实现|第三部分:菜单类

 第四部分:Cocos2d-x简单游戏<捕鱼达人>代码实现|第四部分:加载场景类

 第五部分:Cocos2d-x简单游戏<捕鱼达人>代码实现|第五部分:游戏类




#ifndef __shows__GameScene__

#define __shows__GameScene__


#include <iostream>

#include "Header.h"

#include "Fish.h"

#include "Bullet.h"

#include "Net.h"

#include "Weapon.h"

#include "SimpleAudioEngine.h"

#include "CCRectContaint.h"

using namespace CocosDenshion;


class GameScene:publicCCLayer,CCStandardTouchDelegate{

    

private:

   void loadTexture();//加载缓存

   void initGameScene();//初始化场景

   void addFish();//添加鱼

   void updateFish();//更换场景的鱼

   void updateHit();//更新

   void stopOrPlay();//暂停或开始

   void changeBackground();//改变场景

   void removeNet(CCSprite *sender);//移除渔网

   void updateEnergy(int addEnergy);//更新

   void setAngle(CCPoint point,CCSprite *sprite);//设置大炮旋转角度

    

    /********************/

   void playBoundingEffectsMusic();

   void play();

   void pause();

   void scoreShow();

   void addWeaponLevel();

   void reduceWeaponLevel();

   void gobackMainUI();

   void afterShowGoldens(CCSprite *sender);

   void afterShowMoney(CCSprite *pSprite);

   void afterCatch(CCSprite *pSprite);

   void afterShowNet(CCSprite *pSprite);

   void removeBullet(CCSprite *sprite);

   void removeWeapon(CCSprite *pSprite);

    

public:

    

    CCSpriteBatchNode *fishSheet;//

   CCSpriteBatchNode *bulletSheet;//子弹

    CCSpriteBatchNode *netSheet;//渔网

   CCSpriteBatchNode *cannonSheet;//大炮

   CCSpriteBatchNode *goldItemSheet;//金币

   char currentMusicString[50];

   int weaponLevel;

   int energy;

   int maxEnergy;

   CCSprite *energyPointer;

   Weapon *weapon;

   CCArray *allFishArray;

    

public:


    GameScene();

    ~GameScene();

   virtual bool init();

    CREATE_FUNC(GameScene);

   static CCScene *scene();


   void ccTouchesBegan(CCSet *pTouches,CCEvent *pEvent);

   void ccTouchesMoved(CCSet *pTouches,CCEvent *pEvent);

   void ccTouchesEnded(CCSet *pTouches,CCEvent *pEvent);  

};

#endif /* defined(__shows__GameScene__) */




#include "GameScene.h"


constint MAX_NUMBER_FISH = 60;//场内最多鱼的数量

constfloat weapon_scale=1.5f;

constfloat maxEnergyRotation=150;

constfloat minEnergyRotation=30;

const CCSize allSize =WINSIZE_BYDIRECT;

GameScene::GameScene(){


}


CCScene * GameScene::scene(){

   CCScene *scene;

   do {

        scene =CCScene::create();

       CC_BREAK_IF(!scene);

       GameScene *layer = GameScene::create();

       CC_BREAK_IF(!layer);

        scene->addChild(layer);

    }while (0);

   return scene;

}


#pragma mark-

#pragma mark--//初始化层

boolGameScene::init(){

   if (!CCLayer::init()) {

        return false;

    }

    this->setTouchEnabled(true);

    maxEnergy=1000;

    this->loadTexture();

    this->initGameScene();

    this->schedule(schedule_selector(GameScene::updateFish),0.5f);

    this->schedule(schedule_selector(GameScene::updateHit),0.1f);

    this->schedule(schedule_selector(GameScene::changeBackground),18.0f);

    this->stopOrPlay();


 

    return true;

}


#pragma mark-

#pragma mark--//初始化场景

voidGameScene::initGameScene(){

    

   CCSize winSize = WINSIZE_BYDIRECT;

    

   CCSprite *bgSprite = CCSprite::create("bj00.jpg");

    bgSprite->setScale(2.0f);

    bgSprite->setScaleX(2.5f);

    bgSprite->setPosition(ccp(winSize.width/2, winSize.height/2));

   this->addChild(bgSprite,0);

   //大炮

   char tempCanon[50];

    sprintf(tempCanon,"actor_cannon1_%i1.png",1);

   weapon = (Weapon *)CCSprite::createWithSpriteFrameName(tempCanon);

    weapon->weaponLevel =1;

    weaponLevel = 1;//本类

    weapon->setScale(weapon_scale);

   weapon->setPosition(ccp(winSize.width/2,75));

    weapon->weaponType =normal;

   this->addChild(weapon,102);


   CCSprite *energyBox = CCSprite::create("ui_2p_004.png");

    energyBox->setScale(2.0f);

    energyBox->setPosition(CCPoint(ccp(winSize.width/2,10)));

   this->addChild(energyBox,99);


    energyPointer =CCSprite::create("ui_2p_005.png");

    energyPointer->setScale(2.0f);

   energyPointer->setPosition(CCPoint(ccp(winSize.width/2,10)));

    this->addChild(energyPointer,90);

    

    //添加顶部框体

   CCSprite *backGroundExp = CCSprite::create("ui_box_01.png");

    backGroundExp->setScale(1.5f);

    backGroundExp->setPosition(ccp(winSize.width/2,winSize.height));

    backGroundExp->setAnchorPoint(ccp(0.5f,1.0f));

   this->addChild(backGroundExp,101);

    


    

    //底部框体

   CCSprite *backGroundBottom = CCSprite::create("ui_box_02.png");

    backGroundBottom->setScale(1.5f);

    backGroundBottom->setScaleX(2.5f);

    backGroundBottom->setScaleY(2);

    backGroundBottom->setPosition(ccp(winSize.width/2 -90,0));

    backGroundBottom->setAnchorPoint(ccp(0.5f,0));

   this->addChild(backGroundBottom,101);

    

    CCMenuItemFont *addItem =CCMenuItemFont::create("+",this, menu_selector(GameScene::addWeaponLevel));

    addItem->setFontSize(72.0f);

    addItem->setScale(1.5f);

    addItem->setFontName("Arial");

   CCMenu *addMenu = CCMenu::create(addItem,NULL);

    addMenu->setPosition(ccp(winSize.width/2+75,10));

    addMenu->alignItemsVertically();

   this->addChild(addMenu,202);

    

    CCMenuItemFont *reduceItem =CCMenuItemFont::create("-",this, menu_selector(GameScene::reduceWeaponLevel));

    reduceItem->setFontSize(72.0f);

    reduceItem->setScale(1.5f);

    reduceItem->setFontName("Arial");

   CCMenu *reduceMenu = CCMenu::create(reduceItem,NULL);

    reduceMenu->setPosition(ccp(winSize.width/2-70,30));

    reduceMenu->alignItemsVertically();

   this->addChild(reduceMenu,202);    

}


#pragma mark-

#pragma mark--//加载缓存图片

voidGameScene::loadTexture(){

    

    //加载大炮

    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("cannon.plist");

    cannonSheet = CCSpriteBatchNode::create("cannon.png");

    this->addChild(cannonSheet,102);


    

    //加载鱼

    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("fish.plist");

    fishSheet = CCSpriteBatchNode::create("fish.png");

   this->addChild(fishSheet,12);

    

    //加载子弹

    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("bullet.plist");

    bulletSheet = CCSpriteBatchNode::create("bullet.png");

    this->addChild(bulletSheet,13);

    

    //加载网

    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("net.plist");

    netSheet = CCSpriteBatchNode::create("net.png");

   this->addChild(netSheet,14);

    

    //加载金币

    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("8goldItem.plist");

    goldItemSheet =CCSpriteBatchNode::create("8goldItem.png");

    this->addChild(goldItemSheet,15);

    

}

#pragma mark--子弹发射碰撞是的音效

voidGameScene::playBoundingEffectsMusic(){

    SimpleAudioEngine::sharedEngine()->playEffect("bg_music03.caf");

    SimpleAudioEngine::sharedEngine()->setEffectsVolume(0.5f);


}



#pragma mark-

#pragma mark--//向场景中添加鱼

voidGameScene::addFish(){

    

   int number = 10;

   int type = rand()%11+1;

   CCArray *oneFish = CCArray::create();

   char temp[100];

   for(int i=1;i<number;i++){

       sprintf(temp,"fish0%i_0%i.png",type,i);

        CCSpriteFrame *spriteFrame =CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(temp);

        CCAnimationFrame *animateFrame =new CCAnimationFrame();

        animateFrame->autorelease();

        animateFrame->initWithSpriteFrame(spriteFrame,1,NULL);

        oneFish->addObject(animateFrame);

    }

   CCAnimation *animation = CCAnimation::create(oneFish, 0.1f);

   CCAnimate *animate = CCAnimate::create(animation);

   CCRepeatForever *fishAction = CCRepeatForever::create(animate);

   char tempFish[100];

   sprintf(tempFish,"fish0%i_0%i.png",type,1);

   Fish *fishs = (Fish *)Fish::createWithSpriteFrameName(tempFish);

    fishs->setScale(1.0f);

    fishs->fishLevel = type;

    fishs->isCatched =false;

    fishs->runAction(fishAction);

    fishs->addPath();

    fishs->run();

   fishSheet->addChild(fishs);

}



#pragma mark-

#pragma mark--//不断更新场景中的鱼

voidGameScene::updateFish(){

    if(fishSheet->getChildren()->count()<MAX_NUMBER_FISH){

       this->addFish();

    }

}


#pragma mark-

#pragma mark--//更新碰撞

voidGameScene::updateHit(){


   CCSize winSize = WINSIZE_BYDIRECT;

   Fish *fish;

   Bullet *bullet;

   Net *net;

   CCScaleTo *scale0 = CCScaleTo::create(0.3f,3.0f);

   CCScaleTo *scale1 = CCScaleTo::create(0.3f,0.8f);

   CCObject *bulletObject = NULL;

    //遍历子弹

   CCARRAY_FOREACH(bulletSheet->getChildren(),bulletObject){

        bullet = (Bullet *)bulletObject;

       if(bullet->isHit){

           continue;

        }

       if(bullet->getPosition().x>(winSize.width+bullet->getContentSize().width)||

           bullet->getPosition().x<(-bullet->getContentSize().width)){

           continue;

        }

       CCObject *fishObject = NULL;

        /*******************检测鱼和子弹碰撞**************************/

       CCARRAY_FOREACH(fishSheet->getChildren(),fishObject){

            fish = (Fish *)fishObject;

           if(bullet->isHit){

               continue;

            }

           if (fish->boundingBox().intersectsRect(bullet->boundingBox())) {

                this->playBoundingEffectsMusic();//播放音效

                bullet->isHit =true;

               char temp[100];

               sprintf(temp,"net0%i.png",weaponLevel);

               Net *net = (Net *)Net::createWithSpriteFrameName(temp);

                net->setPosition(bullet->getPosition());

               CCMoveTo *moveTo = CCMoveTo::create(0.03f,ccp(bullet->getPosition().x-10,bullet->getPosition().y+40));

               bulletSheet->removeChild(bullet,true);//移除子弹

               netSheet->addChild(net);

               CCCallFuncO *scaleNetAfterShow = CCCallFuncO::create(this,callfuncO_selector(GameScene::afterShowNet), net);

               CCSequence *netSequence = CCSequence::create(moveTo,scale0,scale1,scale0,scale1,scaleNetAfterShow,NULL);

                net->runAction(netSequence);

            }

        }

    }

    /***************************检测渔网和鱼碰撞***************************/

   CCObject *netObject = NULL;

   CCARRAY_FOREACH(netSheet->getChildren(),netObject){

        net = (Net *)netObject;

       if(net->isHit){

           continue;

        }

       CCObject *fishObject1 = NULL;

       CCARRAY_FOREACH(fishSheet->getChildren(), fishObject1){

            fish = (Fish *)fishObject1;

           if(fish->isCatched){

               continue;

            }

            if (net->boundingBox().intersectsRect(fish->boundingBox())) {

               if(!(fish->randomCatch(weaponLevel))){

                   continue;

                }else{

                    fish->isCatched =true;

                   this->updateEnergy(fish->fishLevel);

                   CCArray *fishes = CCArray::create();

                   int number;

                   if(fish->fishLevel <8){

                        number =3;

                    }else{

                        number =5;

                    }

                   for(int i=1;i<number;i++){

                       char temp[100];

                       sprintf(temp,"fish0%i_catch_0%i.png",fish->fishLevel,i);

                       CCSpriteFrame *spriteFrame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(temp);

                       CCAnimationFrame *animateFrame = new CCAnimationFrame();

                        animateFrame->autorelease();

                        animateFrame->initWithSpriteFrame(spriteFrame,1,NULL);

                        fishes->addObject(animateFrame);

                    }

                   CCAnimation *animation = CCAnimation::create(fishes,0.2f);

                   CCAnimate *animate = CCAnimate::create(animation);

                   CCActionInterval *fishCatchAction = CCRepeat::create(animate, 2);

                   CCCallFuncO *func0 = CCCallFuncO::create(this,callfuncO_selector(GameScene::afterCatch),fish);

                   CCSequence *animalSequence = CCSequence::create(fishCatchAction,func0);

                    fish->stopAllActions();

                    fish->runAction(animalSequence);

                   //金币

                   CCSprite *money = CCSprite::create("+5.png");

                    money->setPosition(fish->getPosition());//与鱼的位置相同

                   CCMoveTo *move = CCMoveTo::create(0.6,CCPointMake(120,20));

                   CCCallFuncO *moneyAfterShow = CCCallFuncO::create(this,callfuncO_selector(GameScene::afterShowMoney), money);

                   CCSequence *moneySequence = CCSequence::create(scale0,scale1,scale0,scale1,move,moneyAfterShow,NULL);

                    money->runAction(moneySequence);

                   this->addChild(money,109);

                   CCCallFuncO *scoreShow =CCCallFuncO::create(this,callfuncO_selector(GameScene::scoreShow),NULL);

                   CCActionInterval *acitonInterval = CCActionInterval::create(0.5);

                   CCSequence *scoreSequence = CCSequence::create(acitonInterval,scoreShow,NULL);

                    money->runAction(scoreSequence);

                }

            }

        }

       net->isHit =true;

    }



}


#pragma mark-

#pragma mark--//暂停或开始

voidGameScene::stopOrPlay(){

    

   CCSize winSize = WINSIZE_BYDIRECT;

   CCSprite *stopSprite = CCSprite::create("pause.png");

   CCSprite *playSprite = CCSprite::create("play.png");

    CCMenuItemSprite *stopItem =CCMenuItemSprite::create(stopSprite,NULL,this,menu_selector(GameScene::pause));

    CCMenuItemSprite *playItem =CCMenuItemSprite::create(playSprite,NULL,this,menu_selector(GameScene::play));

   CCMenu *didClick = CCMenu::create(stopItem,playItem,NULL);

    didClick->setScale(1.5f);

    didClick->alignItemsHorizontally();

    didClick->alignItemsHorizontallyWithPadding(25.0f);

    didClick->setPosition(ccp(winSize.width/2+750,winSize.height/2+450));

   this->addChild(didClick,203);


}


#pragma mark-

#pragma mark--//移除网

voidGameScene::removeNet(CCSprite *sender){


   CCSprite *sprite = (CCSprite *)sender;

    sprite->removeFromParentAndCleanup(true);



}

#pragma mark

#pragma mark--暂停

voidGameScene::pause(){

   CCSize winSize = WINSIZE_BYDIRECT;

    CCDirector::sharedDirector()->pause();

    this->setTouchEnabled(false);

    SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();

   if (!this->getChildByTag(300)) {

       CCLayerColor *showLayer = CCLayerColor::create(ccc4(0,0,0,150),winSize.width,winSize.height);

        showLayer->setTag(300);

       CCMenuItemFont *goOnMenuItem = CCMenuItemFont::create("继续游戏",this,menu_selector(GameScene::play));

       CCMenuItemFont *goBackUIMenuItem = CCMenuItemFont::create("回主界面",this,menu_selector(GameScene::gobackMainUI));

       CCMenu *menu = CCMenu::create(goOnMenuItem,goBackUIMenuItem,NULL);

        menu->alignItemsVertically();

        menu->alignItemsVerticallyWithPadding(18);

        showLayer->addChild(menu,301);

       this->addChild(showLayer,300);

    }

}


#pragma mark-

#pragma mark---开始

voidGameScene::play(){

    

    CCDirector::sharedDirector()->resume();

    this->setTouchEnabled(true);

    SimpleAudioEngine::sharedEngine()->playBackgroundMusic(currentMusicString);

   if (this->getChildByTag(300)) {

        this->removeChildByTag(300,true);

    }


}



#pragma mark-

#pragma mark--//更新

voidGameScene::updateEnergy(int addEnergy){


   energy += addEnergy;

    float rotate = ((float)energy/maxEnergy)*(maxEnergyRotation-minEnergyRotation)+minEnergyRotation;

   energyPointer->setRotation(rotate);


}

#pragma mark-

#pragma mark-------返回主界面

voidGameScene::gobackMainUI(){

    

   if (this->getChildByTag(300)) {

        this->removeChildByTag(300,true);

    }

    CCDirector::sharedDirector()->replaceScene(GameScene::scene());

    CCDirector::sharedDirector()->resume();


}



#pragma mark-

#pragma mark--实时更换背景

voidGameScene::changeBackground(){


   int i = rand()%3;

   CCSize winSize = WINSIZE_BYDIRECT;

    //背景图片

   char tempBgImge[50];

   char tempBgMusic[50];

   sprintf(tempBgImge,"bj0%i.jpg",i);

   sprintf(tempBgMusic,"bg_music0%i.caf",i);

   CCSprite *changeBackground = CCSprite::create(tempBgImge);

    changeBackground->setScale(2.0f);

    changeBackground->setScaleX(2.5f);

    //更换背景音乐

    SimpleAudioEngine::sharedEngine()->playBackgroundMusic(tempBgMusic);

    SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(0.02f);

    sprintf(currentMusicString,"bg_music0%i.caf",i);

    changeBackground->setPosition(ccp(winSize.width /2,winSize.height/2));

   if (this->getChildByTag(i)) {

        this->getChildByTag(i)->removeFromParentAndCleanup(true);

    }

   this->setTag(i);

   this->addChild(changeBackground,0);


}


#pragma mark-

#pragma mark--Touches Event

voidGameScene::ccTouchesBegan(CCSet *pTouches,CCEvent *pEvent){

    

    //大炮旋转

   CCTouch *touch = (CCTouch *)pTouches->anyObject();

   CCPoint position = touch->getLocationInView();

    position =CCDirector::sharedDirector()->convertToGL(position);

   if (position.y <=weapon->getPosition().y) {

       return;

    }

    if (weapon->weaponType ==laser) {

        

    }else{

       char temp[50];

        sprintf(temp,"actor_cannon1_%i2.png",weapon->weaponLevel);

        weapon->setDisplayFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(temp));

    }

   this->setAngle(position,NULL);


    

}

voidGameScene::ccTouchesMoved(CCSet *pTouches,CCEvent *pEvent){

    

   CCTouch *touch = (CCTouch *) pTouches->anyObject();

   CCPoint position = touch->getLocationInView();

    position =CCDirector::sharedDirector()->convertToGL(position);

   this->setAngle(position,NULL);


}

voidGameScene::ccTouchesEnded(CCSet *pTouches,CCEvent *pEvent){

    

    //要能添加子弹

    CCSize size =WINSIZE_BYDIRECT;

   CCTouch *touch = (CCTouch *) pTouches->anyObject();

   CCPoint position = touch->getLocationInView();

    position =CCDirector::sharedDirector()->convertToGL(position);

    

   int offX=position.x-weapon->getPosition().x;

   int offY=position.y-weapon->getPosition().y;

    //如果是超级子弹

    if(weapon->weaponType ==laser){

        

    }else{

       //子弹处理

       char temp[50];

       sprintf(temp,"bullet0%i.png",weapon->weaponLevel);

       Bullet *bullet = (Bullet *)Bullet::createWithSpriteFrameName(temp);

        bullet->setScale(2.5f);//子弹大小

        bullet->setPosition(weapon->getPosition());

        bullet->isHit =false;

       this->setAngle(position, bullet);//设置子弹角度

       int realY=size.height +weapon->getContentSize().height/2;

       float ratio=(float)offX/(float)offY;

       int realX=(realY-weapon->getPosition().y)*ratio+weapon->getPosition().x;

       CCPoint realDest=ccp(realX,realY);

       //偏移位置

       int offRealX=realX-weapon->getPosition().x;

       int offRealY=realY-weapon->getPosition().y;

       float length=sqrtf((offRealX * offRealX) + (offRealY * offRealY));

       float velocity=240/1;

       float realMoveDuration=length/velocity;

        

       CCMoveTo *moveTo = CCMoveTo::create(realMoveDuration, realDest);

       CCCallFuncO *removeBullet= CCCallFuncO::create(this,callfuncO_selector(GameScene::removeBullet), bullet);

       CCSequence *bulletSeque = CCSequence::create(moveTo,removeBullet,NULL);

        bullet->setRotation(weapon->getRotation());

        bullet->runAction(bulletSeque);

       bulletSheet->addChild(bullet);

    }

}


#pragma mark-

#pragma mark--//大炮旋转角度

voidGameScene::setAngle(CCPoint point,CCSprite *sprite){

    

   int offX = point.x -weapon->getPosition().x;

   int offY = point.y -weapon->getPosition().y;

   if(offY <= 0){

       return;

    }

    //求出角度--xy的长度<以大炮位置为(0,0)>

   float ratio = (float)offY/(float)offX;

    //tan

   float angle = atanf(ratio)/M_PI*180;

   if(angle<0){

       weapon->setRotation(-(90+angle));

       if (sprite) {//子弹跟着大炮角度转

          sprite->setRotation(weapon->getRotation());

        }

    }elseif(angle>0){

       weapon->setRotation(90-angle);

       if (sprite) {

            sprite->setRotation(weapon->getRotation());

        }

    }

    

}

#pragma mark-

#pragma mark----显示分数

voidGameScene::scoreShow(){

    

//    gold->setNumber(gold->getNumber()+5);


}

#pragma mark

#pragma mark----显示金币后移除

voidGameScene::afterShowGoldens(CCSprite *pSprite){

    

   CCSprite *sprite = (CCSprite *)pSprite;

   if(sprite != NULL){

        sprite->removeFromParentAndCleanup(true);

    }

    

}

#pragma mark-

#pragma mark---显示钱之后移除

voidGameScene::afterShowMoney(CCSprite *pSprite){

   CCSprite *sprite = (CCSprite *)pSprite;

   if(sprite != NULL){

        sprite->removeFromParentAndCleanup(true);

    }

}

#pragma mark-

#pragma mark-移除被捕鱼-

voidGameScene:: afterCatch(CCSprite *pSprite){

   CCSprite *sprite = (CCSprite *)pSprite;

   if(sprite != NULL){

       fishSheet->removeChild(sprite,true);

    }

}

#pragma mark-

#pragma mark-移除网-

voidGameScene::afterShowNet(CCSprite *pSprite){

   CCSprite *sprite = (CCSprite *)pSprite;

   if(sprite != NULL){

       netSheet->removeChild(sprite,true);

    }

}

#pragma mark-

#pragma mark-移除子弹-

voidGameScene::removeBullet(CCSprite *pSprite){

   CCSprite *sprite = (CCSprite *)pSprite;

   if(sprite){

       bulletSheet->removeChild(sprite,true);

    }

}


#pragma mark-

#pragma mark--//减大炮级别

voidGameScene::reduceWeaponLevel(){


   CCSize winSize = WINSIZE_BYDIRECT;

    weaponLevel--;

   if(weaponLevel ==0){

       weaponLevel = 7;

    }

   CCScaleTo *narrow = CCScaleTo::create(0.1f,0.03);

    CCCallFuncO *removeWeapon =CCCallFuncO::create(this,callfuncO_selector(GameScene::removeWeapon),weapon);

   CCSequence *bowDismissSequence = CCSequence::create(narrow,removeWeapon,NULL);

   weapon->runAction(bowDismissSequence);

    

   char temp[50];

    sprintf(temp,"actor_cannon1_%i1.png",weaponLevel);

    weapon = (Weapon*)CCSprite::createWithSpriteFrameName(temp);

    weapon->weaponLevel =weaponLevel;

   weapon->setPosition(ccp(winSize.width/2,75));

   weapon->setScale(0.03f);

   CCDelayTime *delayTime = CCDelayTime::create(0.1f);

    CCScaleTo *appear =CCScaleTo::create(0.1f,weapon_scale);

   CCSequence *bowAppearSequence = CCSequence::create(delayTime,appear,NULL);

   weapon->runAction(bowAppearSequence);

    cannonSheet->addChild(weapon,102);

    

}

#pragma mark-

#pragma mark--//添加大炮级别

voidGameScene::addWeaponLevel(){


   CCSize winSize = WINSIZE_BYDIRECT;

    weaponLevel++;

   if(weaponLevel ==8){

       weaponLevel = 1;

    }

   CCScaleTo *narrow = CCScaleTo::create(0.1f,0.03);

    CCCallFuncO *removeWeapon =CCCallFuncO::create(this,callfuncO_selector(GameScene::removeWeapon),weapon);

   CCSequence *bowDismissSequence = CCSequence::create(narrow,removeWeapon,NULL);

   weapon->runAction(bowDismissSequence);

    

   char temp[50];

    sprintf(temp,"actor_cannon1_%i1.png",weaponLevel);

    weapon = (Weapon *)CCSprite::createWithSpriteFrameName(temp);

    weapon->weaponLevel =weaponLevel;

   weapon->setScale(0.03f);

   weapon->setPosition(ccp(winSize.width/2,75));

   CCDelayTime *delayTime = CCDelayTime::create(0.1f);

    CCScaleTo *appear =CCScaleTo::create(0.1f,weapon_scale);

   CCSequence *bowAppearSequence = CCSequence::create(delayTime,appear,NULL);

   weapon->runAction(bowAppearSequence);

    cannonSheet->addChild(weapon,102);


}

#pragma mark-

#pragma mark-移除大炮-

voidGameScene::removeWeapon(CCSprite *pSprite){

   CCSprite *sprite = (CCSprite *)pSprite;

    sprite->removeFromParentAndCleanup(true);


}


GameScene::~GameScene(){



}
























  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
│ creator.d.ts │ global.d.ts │ jsconfig.json │ list.txt │ project.json │ README.md │ template-banner.png │ template.json │ tsconfig.json │ ├─assets │ │ animate.meta │ │ audio.meta │ │ bydrbg.mp3 │ │ bydrbg.mp3.meta │ │ prefabs.meta │ │ resources.meta │ │ Scene.meta │ │ Script.meta │ │ Texture.meta │ │ │ ├─animate │ │ coin_up.anim │ │ coin_up.anim.meta │ │ fish_bigred_die.anim │ │ fish_bigred_die.anim.meta │ │ fish_bigred_run.anim │ │ fish_bigred_run.anim.meta │ │ fish_denglong_die.anim │ │ fish_denglong_die.anim.meta │ │ fish_denglong_run.anim │ │ fish_denglong_run.anim.meta │ │ fish_fuyi_die.anim │ │ fish_fuyi_die.anim.meta │ │ fish_fuyi_run.anim │ │ fish_fuyi_run.anim.meta │ │ fish_gui_die.anim │ │ fish_gui_die.anim.meta │ │ fish_gui_run.anim │ │ fish_gui_run.anim.meta │ │ fish_hailuoshuimu_die.anim │ │ fish_hailuoshuimu_die.anim.meta │ │ fish_hailuoshuimu_run.anim │ │ fish_hailuoshuimu_run.anim.meta │ │ fish_hetun_die.anim │ │ fish_hetun_die.anim.meta │ │ fish_hetun_run.anim │ │ fish_hetun_run.anim.meta │ │ fish_jinshayu_die.anim │ │ fish_jinshayu_die.anim.meta │ │ fish_jinshayu_run.anim │ │ fish_jinshayu_run.anim.meta │ │ fish_red_die.anim │ │ fish_red_die.anim.meta │ │ fish_red_run.anim │ │ fish_red_run.anim.meta │ │ fish_shayu_die.anim │ │ fish_shayu_die.anim.meta │ │ fish_shayu_run.anim │ │ fish_shayu_run.anim.meta │ │ fish_shuimu_die.anim │ │ fish_shuimu_die.anim.meta │ │ fish_shuimu_run.anim │ │ fish_shuimu_run.anim.meta │ │ fish_yellow_die.anim │ │ fish_yellow_die.anim.meta │ │ fish_yellow_run.anim │ │ fish_yellow_run.anim.meta │ │ gold_down.anim │ │ gold_down.anim.meta │ │ net_1.anim │ │ net_1.anim.meta │ │ net_2.anim │ │ net_2.anim.meta │ │ net_3.anim │ │ net_3.anim.meta │ │ net_4.anim │ │ net_4.anim.meta │ │ net_5.anim │ │ net_5.anim.meta │ │ net_6.anim │ │ net_6.anim.meta │ │ net_7.anim │ │ net_7.anim.meta │ │ silver_down.anim │ │ silver_down.anim.meta │ │ weapon_level_1.anim │ │ weapon_level_1.anim.meta │ │ weapon_level_2.anim │ │ weapon_level_2.anim.meta │ │ weapon_level_3.anim │ │ weapon_level_3.anim.meta │ │ weapon_level_4.anim │ │ weapon_level_4.anim.meta │ │ weapon_level_5.anim │ │ weapon_level_5.anim.meta │ │ weapon_level_6.anim │ │ weapon_level_6.anim.meta │ │ weapon_level_7.anim │ │ weapon_level_7.anim.meta │ │ │ ├─audio │ │ bydrbg.mp3 │ │ bydrbg.mp3.meta │ │ │ ├─prefabs │ │ bullet.prefab │ │ bullet.prefab.meta │ │ coins_down.prefab │ │ coins_down.prefab.meta │ │ coins_up.prefab │ │ coins_up.prefab.meta │ │ fish_node.prefab │ │ fish_node.prefab.meta │ │ net.prefab │ │ net.prefab.meta │ │ │ ├─resources │ │ fishconfig.json │ │ fishconfig.json.meta │ │ │ ├─Scene │ │ mainscene.fire │ │ mainscene.fire.meta │ │ │ ├─Script │ │ │ Bullet.ts │ │ │ Bullet.ts.meta │ │ │ CoinController.ts │ │ │ CoinController.ts.meta │ │ │ Coins.ts │ │ │ Coins.ts.meta │ │ │ Fish.ts │ │ │ Fish.ts.meta │ │ │ FishType.ts │ │ │ FishType.ts.meta │ │ │ FluxayEffect.ts │ │ │ FluxayEffect.ts.meta │ │ │ FluxayFrag.ts │ │ │ FluxayFrag.ts.meta │ │ │ Game.ts │ │ │ Game.ts.meta │ │ │ Lib.meta │ │ │ Net.ts │ │ │ Net.ts.meta │ │ │ NumUp.ts │ │ │ NumUp.ts.meta │ │ │ WaterWaveEffect.ts │ │ │ WaterWaveEffect.ts.meta │ │ │ WaterWaveFrag.ts │ │ │ WaterWaveFrag.ts.meta │ │ │ Weapon.ts │ │ │ Weapon.ts.meta │ │ │ │ │ └─Lib │ │ Fetch.js │ │ Fetch.js.meta │ │ │ └─Texture │ bg_buyu2.jpg │ bg_buyu2.jpg.meta │ cointextures.plist │ cointextures.plist.meta │ cointextures.png │ cointextures.png.meta │ game_bg.jpg │ game_bg.jpg.meta │ singleColor.png │ singleColor.png.meta │ startbg.jpg │ startbg.jpg.meta │ textures.plist │ textures.plist.meta │ textures.png │ textures.png.meta │ timer.plist │ timer.plist.meta │ timer.png │ timer.png.meta │ ├─library │ │ uuid-to-mtime.json │ │ │ └─imports │ ├─00 │ │ 0004d1cf-a0ad-47d8-ab17-34d3db9d35a3.json │ │ │ ├─01 │ │ 01821c38-18f1-4a1f-b1c0-dac8df856a9b.json │ │ 01857e81-46bf-45c5-b320-c38e79536090.json │ │ │ ├─02 │ │ 0297aab2-9482-4fc6-ac87-d68d50d5f2f1.json │ │ 02e525be-7b9a-4b62-ab99-ee172db2bc88.json │ │ │ ├─03 │ │ 03df0651-a189-4b05-a646-29981a15dee3.json │ │ 03e50ffb-cb1a-4afb-aede-3ac3ac31698f.json │ │ │ ├─04 │ │ 048a219b-da01-4684-8b54-aa1653c502b3.json │ │ 04e9cc79-504b-41ff-a96e-99247a6149c2.json │ │ │ ├─05 │ │ 05b6ae1c-08ba-4230-8b5b-dee0f9af12f5.json │ │ │ ├─07 │ │ 072c5ae0-8e92-4b42-a7c5-3540dcce1d2a.json │ │ 075496c2-3054-4116-b28a-6a3ce56c9b82.json │ │ │ ├─09 │ │ 09dcbf2e-7e12-4484-b274-a90a5dbea247.json │ │ │ ├─0a │ │ 0abcbfc1-d6be-4e67-bd69-493d74d32d96.json │ │ │ ├─0b │ │ 0bdf1072-1a07-4fa5-b855-b5bce89525b0.json │ │ 0bf3fea6-f31b-484d-a4dd-64971cef270b.json │ │ │ ├─0c │ │ 0c3ad56d-ba91-4ea3-a026-9b500145f231.json │ │ 0c7ca89b-b169-4b30-b1b8-29a079aa5ee3.json │ │ │ ├─0d │ │ 0d784963-d024-4ea6-a7db-03be0ad63010.json │ │ │ ├─0e │ │ 0e51b981-a3d9-49cc-aa9c-404e0efeda5a.json │ │ 0e61ade8-dc34-4136-b740-47260ebeea1e.json │ │ 0e7af90c-9613-4d76-a5f4-b12ac5730edd.json │ │ 0eb2a745-93e2-49ac-b774-0109a77961fd.json │ │ │ ├─0f │ │ 0f059f64-4f38-4b3e-b13e-984931a6e553.json │ │ 0f9ca701-1737-4790-872b-7a0bb56dec66.json │ │ │ ├─11 │ │ 11ae9247-d3ae-483f-97c1-1fdd824f486d.json │ │ │ ├─12 │ │ 124733b0-c72d-4ddb-ac93-6013a1069762.json │ │ │ ├─13 │ │ 13745ebd-1b5f-4f37-b312-3d2943b17919.json │ │ │ ├─14 │ │ 144ba423-9342-4f87-a7ff-6445353a9d84.json │ │ │ ├─17 │ │ 17692484-19b5-47ef-877e-04329f343065.json │ │ 17abdf57-fe91-42bd-9ca5-8effe2f19648.json │ │ │ ├─18 │ │ 18f693fa-b5b1-47ed-a94d-ebdd89f8fbc1.json │ │ │ ├─19 │ │ 19ccf57e-b91f-4a08-ab53-797df5a850d8.json │ │ │ ├─1a │ │ 1a32fc76-f0bd-4f66-980f-56929c0ca0b3.json │ │ │ ├─1b │ │ 1b2a844b-1d1f-4e9e-8332-ae9c394b990e.json │ │ 1b42dc08-8b1c-4686-be87-0371affccd09.json │ │ 1b5f84d9-d84c-466f-877a-66499c80168c.json │ │ │ ├─1c │ │ 1c4b1f77-a56b-4b8e-8768-fe614ca7795b.json │ │ │ ├─1d │ │ 1d08772e-5067-4fe7-a948-fe4c265239e4.json │ │ 1dbbd2a0-29b7-4b0e-b4b9-4545f9b12435.json │ │ 1dda02c4-5feb-4e65-afb8-b507f7536b15.json │ │ │ ├─1f │ │ 1f55e3be-b89b-4b79-88de-47fd31018044.json │ │ │ ├─20 │ │ 20cc7edd-f3fd-465a-a4d0-409af2f2d0cc.js │ │ 20cc7edd-f3fd-465a-a4d0-409af2f2d0cc.js.map │ │ 20d2864e-2849-4e8f-96f8-86a092fc6b54.json │ │ 20efa081-6c83-4ca6-9ebb-f22a338205ca.json │ │ │ ├─21 │ │ 216ebe51-1649-444a-a5e1-7ba1810f8e91.json │ │ │ ├─22 │ │ 22cd0693-0a6e-42bd-b506-9939a672cf34.js │ │ 22cd0693-0a6e-42bd-b506-9939a672cf34.js.map │ │ │ ├─23 │ │ 232d2782-c4bd-4bb4-9e01-909f03d6d3b9.json │ │ │ ├─24 │ │ 24362c0b-cd8a-42b4-b0b0-612e46b13c93.json │ │ 2480a30d-1189-4156-9dd9-0e8f923c1563.json │ │ 24d91079-898d-4a00-9162-5fe14ca29ae9.json │ │ 24dd0050-4696-4438-b6f2-ca1c58d7594e.json │ │ 24df14fa-d878-4d23-ab70-c9c53d4da4a7.json │ │ │ ├─25 │ │ 25501932-13d9-4350-8092-03d40ceb1f4a.json │ │ │ ├─26 │ │ 267022d1-2bf5-45af-9a4b-82e19bfba17c.json │ │ 26d9ba0f-0e83-498a-aa4d-e77f74499b9d.json │ │ 26e6fa3f-7118-4ae6-bfe7-ab5ee5508cf5.json │ │ │ ├─27 │ │ 27756ebb-3d33-44b0-9b96-e858fadd4dd4.json │ │ │ ├─28 │ │ 2805584a-6040-4424-96c3-96d103045660.json │ │ 28113253-416b-43f3-9ec6-e0a8162da5bf.json │ │ 286bfe94-1f51-4171-acf3-0d9583d95885.json │ │ 28d1bbbb-4940-470f-a102-ff086930a3b0.json │ │ │ ├─29 │ │ 29158224-f8dd-4661-a796-1ffab537140e.json │ │ │ ├─2a │ │ 2a053610-65c1-4cb7-b86e-0775eceea601.json │ │ │ ├─2b │ │ 2b18009f-267a-4264-a33b-dfd3cfc0b6fd.json │ │ 2b9e3d83-f490-478b-86f1-ef4e5d49907d.json │ │ │ ├─2c │ │ 2c937608-2562-40ea-b264-7395df6f0cea.json │ │ │ ├─2d │ │ 2d2f792f-a40c-49bb-a189-ed176a246e49.json │ │ 2d6e643a-a267-47a0-8154-dbd8f16354ac.json │ │ 2d788c1d-016d-4d67-84a4-ccc98384d993.json │ │ │ ├─2e │ │ 2e4f226c-a1b7-481e-a0ae-f888ef3d3b1b.json │ │ 2ee8e7fb-5e5c-4c9a-9714-38d8c3e578c6.json │ │ │ ├─31 │ │ 31d8962d-babb-4ec7-be19-8e9f54a4ea99.json │ │ │ ├─32 │ │ 32044bd2-481f-4cf1-a656-e2b2fb1594eb.json │ │ │ ├─33 │ │ 33893dd5-677c-4bb0-92af-ee597e1aa1c4.json │ │ 33af693e-d71c-4fde-9afe-88dc94a9f106.json │ │ │ ├─37 │ │ 37b4eef4-871c-401c-bdee-6b9adc01c331.json │ │ │ ├─3b │ │ 3b7d4fe9-3228-4294-99e3-0a390c422252.json │ │ │ ├─3c │ │ 3c324ef3-72e1-4b13-92b1-c6fae373a5ba.json │ │ 3c8a767b-42fa-4515-915c-38007be1049f.json │ │ │ ├─40 │ │ 40176488-8c85-4153-a8ce-1ae91710cf59.json │ │ 40495743-9f8f-4800-9899-66be731160df.json │ │ │ ├─41 │ │ 410fb916-8721-4663-bab8-34397391ace7.json │ │ │ ├─42 │ │ 427469c9-20f7-437c-945e-572fa3297acf.json │ │ 42bbc18a-0c68-4256-86c0-2fb447967da1.json │ │ │ ├─43 │ │ 430f802a-2866-40fe-919d-8ca8ea6e5676.json │ │ 43cb34c2-e40e-48a8-97e7-2ceeeb4a42eb.json │ │ │ ├─45 │ │ 456d1b90-1c41-4cd9-b7ef-aac447a7d476.json │ │ │ ├─46 │ │ 46994b4c-e334-4bdb-9966-5aa49c63b10e.json │ │ 46ff724b-9704-40a8-a728-9eb6eb5ca6d7.json │ │ │ ├─48 │ │ 488d9c1c-f5f6-4d16-ae16-344c3df2e63d.json │ │ │ ├─49 │ │ 491b8a0a-4d70-4997-96d4-e7982d0e1a63.json │ │ │ ├─4a │ │ 4a37dd57-78cd-4cec-aad4-f11a73d12b63.json │ │ 4a913230-31ce-4f9c-a9ab-68235d744c83.json │ │ 4af5e771-080d-4880-8ec6-2dc4f67995ed.js │ │ 4af5e771-080d-4880-8ec6-2dc4f67995ed.js.map │ │ │ ├─4b │ │ 4bf4c93a-d991-4949-a482-881f241e4141.json │ │ 4bfccf2c-a16a-41a5-8f54-bd4bfbe19e20.js │ │ 4bfccf2c-a16a-41a5-8f54-bd4bfbe19e20.js.map │ │ │ ├─4d │ │ 4d46a583-b2bf-4562-b699-f3680c780bfe.json │ │ │ ├─4e │ │ 4e4e81b6-df38-4854-99dc-0a674ef0f2b5.json │ │ │ ├─4f │ │ 4f32ff9f-0e4b-4c57-a034-89bc04432731.json │ │ 4fa9903b-7d83-447c-8d3d-cb8eb4461dde.json │ │ │ ├─51 │ │ 51e2c28e-adf5-4e15-b2fd-8c82bf7e5953.json │ │ 51fdd00f-5ded-4399-b54f-c214f5d979f6.json │ │ │ ├─53 │ │ 533b30b8-8dd0-40f5-8557-52e0fd88042e.json │ │ │ ├─54 │ │ 5400c248-8d8b-4118-948f-81e2ec367c7e.json │ │ 54a605ee-9169-41fa-af39-f3981e5f1f8c.json │ │ │ ├─55 │ │ 559d3fe0-dc90-45a5-9993-1afec6785d88.json │ │ │ ├─56 │ │ 56283616-8081-4bb2-a8c8-8570ecff53a6.json │ │ 5694850a-e9f3-4870-83d1-623c6ed25bf9.json │ │ │ ├─57 │ │ 572dc32c-4434-4835-98b0-88f7ffa5dc90.json │ │ │ ├─59 │ │ 5965ffac-69da-4b55-bcde-9225d0613c28.json │ │ 59861bb3-ff57-41c9-a255-b9182c03047f.json │ │ 59c940d6-5384-4f29-ad18-11cda8fc43aa.json │ │ │ ├─5c │ │ 5c3bb932-6c3c-468f-88a9-c8c61d458641.json │ │ │ ├─5d │ │ 5d6c4aee-f038-4aea-9857-ce97168ed4c4.json │ │ │ ├─5e │ │ 5e1c3913-a3e7-480e-a203-6a0fd274ec7e.json │ │ │ ├─5f │ │ 5fe5dcaa-b513-4dc5-a166-573627b3a159.json │ │ │ ├─60 │ │ 600c098a-ab62-4154-b9d8-666aab617d30.json │ │ │ ├─61 │ │ 61accde8-fde1-402b-ab58-bdd28a3942e6.json │ │ 61aeb05b-3b32-452b-8eed-2b76deeed554.json │ │ │ ├─63 │ │ 635335fc-42e5-43f5-b0be-97460d5686b5.json │ │ │ ├─64 │ │ 64dbebaa-3b5b-431f-a57f-dcf131530f35.json │ │ │ ├─65 │ │ 6533f1f0-9f14-4d12-8280-7795e52f14e9.json │ │ 656fc88c-21df-4d04-98f3-fbdc764025fb.json │ │ 6572b388-40aa-4468-8bee-c861eee04a25.json │ │ │ ├─66 │ │ 6694055d-5d1e-437b-9ccc-14f0b0147d64.json │ │ 66cbd9ed-1825-4b25-9682-bf94641784f7.json │ │ │ ├─67 │ │ 6741d111-7225-47e8-b609-9782145368db.json │ │ 67b03c3d-dc4d-485b-8204-c57894f449d9.json │ │ 67e68bc9-dad5-4ad9-a2d8-7e03d458e32f.json │ │ │ ├─68 │ │ 6827c9a9-7400-47f8-9b91-82b413347226.json │ │ 6827ca32-0107-4552-bab2-dfb31799bb44.json │ │ 682ddab7-e1ff-414f-b88d-abc2b3f11763.json │ │ │ ├─69 │ │ 69da6bdc-7062-44a1-90fc-0b6c635a1e4e.js │ │ 69da6bdc-7062-44a1-90fc-0b6c635a1e4e.js.map │ │ │ ├─6c │ │ 6c0051df-32ee-4fa6-b474-730cf9e6788b.js │ │ 6c0051df-32ee-4fa6-b474-730cf9e6788b.js.map │ │ 6c118523-5e25-4f0d-b567-2991124e7457.json │ │ 6c8a93d9-b2fe-438f-b279-e0bf0eae16d9.json │ │ 6cb54e84-34bc-4922-949c-2c66e9d36196.json │ │ │ ├─6d │ │ 6d7f789f-25c8-4fec-bca6-af1472c43469.json │ │ 6df372f2-5cb4-48da-adce-172889222312.json │ │ │ ├─6e │ │ 6e299c95-2a3d-4dd3-9325-b2ed01cdf301.json │ │ │ ├─6f │ │ 6f2e4942-4c66-4494-811b-e525737d59b2.json │ │ │ ├─70 │ │ 70ae7bf2-0452-4e6f-bae3-740cd4589a33.json │ │ │ ├─71 │ │ 7164f049-b7d6-478d-998f-50d717232a71.json │ │ 7168db62-0edc-42e5-be5d-682cf6c4a165.json │ │ 71c79991-d8b2-4f24-a925-c40fe899c367.json │ │ │ ├─72 │ │ 72a723f9-ff5d-4c51-a489-df9bea196a74.json │ │ │ ├─73 │ │ 732de79f-ab8f-415f-9778-2cd265015725.json │ │ 737ababa-1a14-4243-885b-93e49fbe4bbc.js │ │ 737ababa-1a14-4243-885b-93e49fbe4bbc.js.map │ │ 739837b6-1850-4236-8607-26c1b6e513be.json │ │ 73a32fb7-2c82-4c85-9345-907c97db0de9.json │ │ │ ├─74 │ │ 7428782d-0a10-4fd3-88dd-97d08ec74c8d.json │ │ 744909da-1944-4ff8-a6c1-c534ca716fa8.json │ │ 74da5f94-89c9-4ad1-9d35-d187db055157.json │ │ │ ├─75 │ │ 75f668ca-95a5-435c-9eda-2bebf4fde8e0.json │ │ │ ├─76 │ │ 7626cb3b-184f-48eb-b186-700eaec22e95.json │ │ │ ├─77 │ │ 77fdf1a0-c06c-4621-8890-6c42b3c7e81c.json │ │ │ ├─78 │ │ 785a442c-3ceb-45be-a46e-7317f625f3b9.json │ │ 78dcac94-d4b4-4d54-9d54-125f7905fffe.json │ │ │ ├─79 │ │ 79a836c2-efa1-4f55-9d83-e7e01cc5fa7e.json │ │ 79cc5f08-fbce-47ec-822c-3c3eb5e30446.json │ │ │ ├─7a │ │ 7a38dcd7-81ec-418c-9d2d-d7e4de90456b.json │ │ 7ac60e40-4eeb-4517-aeeb-04cbc6be0dc9.json │ │ │ ├─7d │ │ 7d4ffd94-42d6-4045-9db7-a744229adfc4.json │ │ 7d9784a9-977e-4f10-8da2-927c4375d82b.json │ │ 7de03a80-4457-438d-95a7-3e7cdffd6086.json │ │ │ ├─7e │ │ 7e54bfbd-abf1-4b07-848d-ed6be5dd385c.json │ │ 7e67aa7f-1a25-4a89-a67b-51988117ae87.json │ │ │ ├─7f │ │ 7f09d7a1-59bb-4067-bff9-0d801340056a.json │ │ 7f2109fa-9a0f-41bc-89fe-7ecada6ffb46.json │ │ 7f4833b4-635c-4cf1-a0ee-f4dfd5592ac9.json │ │ │ ├─80 │ │ 8034aa6b-550f-474e-9533-9b47aa0f67fa.json │ │ 809a6c37-c698-4f2c-b17e-b11280535f77.json │ │ │ ├─81 │ │ 81d43d3f-aea2-432a-8c4d-7c372b2e8c61.json │ │ │ ├─82 │ │ 82dec17b-cc45-4121-b2ae-50526bf0da75.json │ │ 82dfd553-ef79-44b8-8061-71a0b0b14784.json │ │ │ ├─83 │ │ 83df0103-1a4f-4ab6-a8ce-da84de250baf.json │ │ │ ├─84 │ │ 849190fe-c4f3-4071-9ff2-f028eccc6fd1.json │ │ │ ├─85 │ │ 8539a433-6e37-4e72-8ee8-25199c989f05.json │ │ │ ├─86 │ │ 864c06d9-8e4f-4699-92e0-3641a17a207f.json │ │ 8672ddd8-2ed0-47a7-8a67-54f9bc694fd5.json │ │ 86b1b7c9-e881-4b2f-8359-f58377be70df.json │ │ 86f11e5c-0766-4bcf-b5e4-1b205070130a.json │ │ 86fe4526-9483-4c85-b7c9-b3a4ec696d58.json │ │ │ ├─88 │ │ 88d3f1d1-528c-46e5-b32f-310801a8e6ac.json │ │ 88e79fd5-96b4-4a77-a1f4-312467171014.json │ │ │ ├─89 │ │ 89e7ec20-0962-44ca-b4f7-58afd0d8d1de.json │ │ │ ├─8a │ │ 8a8a9123-067c-4864-8f0b-da0fa58c7a09.json │ │ │ ├─8b │ │ 8b3f724a-58a2-4c3e-8665-8d1b699a987c.json │ │ 8be2ef75-eb72-4325-aa21-ae207cd38ced.json │ │ │ ├─8c │ │ 8c5001fd-07ee-4a4b-a8a0-63e15195e94d.json │ │ 8c784fc2-508c-4cb6-894e-4b65681eed5c.json │ │ 8c877f6b-5c4c-4ebf-9751-7e0195bcbdba.json │ │ 8cdb44ac-a3f6-449f-b354-7cd48cf84061.json │ │ │ ├─8d │ │ 8d70fff5-61e4-41a8-bb57-1937dce06b21.json │ │ 8d8fe451-16b7-43a6-86eb-9dd7148ea07c.json │ │ │ ├─8f │ │ 8fbc3705-06bc-48a8-b67e-adb34c8d2d35.json │ │ │ ├─90 │ │ 90004ad6-2f6d-40e1-93ef-b714375c6f06.json │ │ │ ├─92 │ │ 9292c58e-45ca-4938-ac17-8088f8ef2d17.json │ │ │ ├─93 │ │ 93974307-dddb-4e1d-871b-5069a0de6fd9.json │ │ │ ├─95 │ │ 9568e1ca-5ab7-411e-9b0d-b0e9983bfe91.js │ │ 9568e1ca-5ab7-411e-9b0d-b0e9983bfe91.js.map │ │ │ ├─96 │ │ 96083d03-c332-4a3f-9386-d03e2d19e8ee.json │ │ 96123ee6-d3ed-4ced-8515-85e218046884.json │ │ │ ├─97 │ │ 972b9a4d-47ee-4c74-b5c3-61d8a69bc29f.json │ │ │ ├─98 │ │ 983047c6-a680-4748-9ce6-f39301500861.json │ │ │ ├─99 │ │ 99136961-8bbe-4c5e-b564-505a38657a21.json │ │ │ ├─9a │ │ 9a424810-bfbf-4ca0-9e0b-dd08f789db4c.json │ │ │ ├─9b │ │ 9bbda31e-ad49-43c9-aaf2-f7d9896bac69.json │ │ │ ├─9d │ │ 9d1ca96e-8016-41ad-bee1-51056da1a91a.js │ │ 9d1ca96e-8016-41ad-bee1-51056da1a91a.js.map │ │ 9daee274-564f-4402-a23d-b73f0aff7f51.json │ │ 9df3582b-c5aa-4569-ae31-5df02081671d.json │ │ │ ├─9e │ │ 9ed14bf6-a37e-4942-bab6-75f37fd66e3a.json │ │ │ ├─9f │ │ 9fa7abaf-660d-4f18-952d-997fedfa9271.json │ │ 9fe96c97-616b-4be5-8856-d4cf98fea936.json │ │ │ ├─a1 │ │ a127358b-7c77-4ca9-8c9f-6d5318961079.json │ │ │ ├─a2 │ │ a23235d1-15db-4b95-8439-a2e005bfff91.json │ │ a29eef79-eeb2-4a38-a168-d21bd37e3998.json │ │ a2f88b52-8557-4f10-9346-03e616499968.json │ │ │ ├─a5 │ │ a57528c9-ff21-4770-9755-f2bbab4dc529.json │ │ │ ├─a6 │ │ a6c9935c-ec1b-428a-b2cc-ce83b3a98b49.json │ │ a6f2b813-4d64-4515-be55-7be5e365f84f.json │ │ │ ├─a7 │ │ a7fe1459-80b0-4fce-979a-7a6d1808c962.json │ │ │ ├─a8 │ │ a8445764-7300-4090-a67e-ee101e9278d3.json │ │ │ ├─a9 │ │ a9ed75e3-8e71-46ee-9d9c-75cca81fd5da.json │ │ │ ├─ab │ │ abe14db1-c921-4bea-9560-16b6cfccb47d.json │ │ │ ├─ac │ │ ac7f2e7f-cdeb-4bb0-a947-b43f7fcc19e0.json │ │ │ ├─ad │ │ ad09ac88-3201-4188-8771-21448bb848a1.json │ │ │ ├─ae │ │ ae428ba9-dd0d-41f0-9069-30d9e71407fc.json │ │ ae58eac7-a12e-45e5-9b0e-f20ddb8dde02.json │ │ │ ├─af │ │ afe36ec2-b53a-4048-92dc-bad6bc374c1d.json │ │ │ ├─b1 │ │ b1455a43-9865-40e7-b6e1-366e332962d4.json │ │ b19323a4-50ee-4b39-b830-75517ae143f5.json │ │ │ ├─b2 │ │ b23ee855-4052-4dbb-a70d-26ae11060370.json │ │ │ ├─b3 │ │ b3e846ce-74fe-47a8-8e97-8de07f5c8a63.json │ │ │ ├─b4 │ │ b43014f4-c80d-4d65-91e6-207ca3f7dcc1.json │ │ │ ├─b5 │ │ b575ee15-9c6a-42b7-b333-50e6edb58a85.json │ │ │ ├─b6 │ │ b63d7b96-2120-45f9-ab8f-9a1ce5cafa93.json │ │ b6d24188-4d34-40dc-a4c8-300d8708c3c9.json │ │ │ ├─b7 │ │ b71c29cd-d128-470c-b5f6-a7da4223c03b.json │ │ b727dec4-3622-4410-b50e-519847cb78e9.json │ │ b794eefa-7d9b-4391-a5f1-3eb6b0f30414.json │ │ │ ├─b8 │ │ b855f513-fb18-47ed-ae03-1ce5a4b39e1b.json │ │ │ ├─b9 │ │ b97a8f6f-ee30-4065-b98f-88e1c65bb7c4.json │ │ │ ├─ba │ │ ba99ccbe-4ea0-47e2-9481-e365a4edb9f9.json │ │ badd5ffc-055d-41e8-8e9a-1c857f63c252.json │ │ │ ├─bb │ │ bb0de968-7717-4292-a3ed-ce70ac82cec3.json │ │ │ ├─bd │ │ bda0ef09-db4d-4228-ac65-c7b3297163bc.json │ │ │ ├─be │ │ be0f5b0c-b541-4d97-864b-99d4f4d4c362.json │ │ │ ├─bf │ │ bf0a434c-84dd-4a8e-a08a-7a36f180cc75.json │ │ │ ├─c2 │ │ c20a311f-c967-4121-85f8-fef8d07b4623.json │ │ c24be583-788e-4c8f-9ba8-07a882828313.js │ │ c24be583-788e-4c8f-9ba8-07a882828313.js.map │ │ c2550ec9-9a23-4468-a5eb-b8f1433768dc.json │ │ c2a96c29-680e-4b2d-bedd-10210919a6c1.json │ │ │ ├─c3 │ │ c3312362-a6f4-422e-96a4-58c2dfc7f138.json │ │ c37f6938-70ca-43d7-b627-468f3c3d97a1.json │ │ c3a4c72f-662a-45a1-a781-6b2bc29f55f7.json │ │ c3ac27cf-1902-4e52-a079-16144a0988fe.json │ │ │ ├─c5 │ │ c5e5856f-0015-4060-8388-a1b035371f9b.json │ │ │ ├─c6 │ │ c609ed00-b89b-413f-8014-7de1420df0c9.json │ │ c62e2941-a4ce-4794-addd-80172244bfff.json │ │ c6650e6d-eee1-4285-9782-b2824e396c73.json │ │ │ ├─c8 │ │ c8939c32-8a6c-4e61-b4b1-03903b7c4189.json │ │ │ ├─c9 │ │ c9e2668e-f384-4d9e-9f00-9a776f305e93.json │ │ c9fa51ff-3f01-4601-8f80-325d1b11dab7.json │ │ │ ├─ca │ │ ca8401fe-ad6e-41a8-bd46-8e3e4e9945be.json │ │ ca8eb5f0-4971-4fe4-b043-70bd3e8852e8.json │ │ │ ├─cc │ │ cc0a5259-03ef-4af4-937c-ae5eed9bf4da.json │ │ cca9d123-df61-4770-b32b-356312eca6be.json │ │ │ ├─cd │ │ cd33edea-55f5-46c2-958d-357a01384a36.json │ │ │ ├─ce │ │ ce15d8b7-ace8-4b6e-af96-6ba207fcb646.json │ │ cef0d325-c2d1-494b-98dd-6122288a1da3.json │ │ │ ├─cf │ │ cf8d1692-3353-44df-b824-f6cf10f8b6a1.json │ │ │ ├─d1 │ │ d1b8be49-b0a0-435c-83b7-552bed4bbe35.json │ │ │ ├─d2 │ │ d2c3a687-a636-4a0a-89df-d3b7e5955f5b.json │ │ │ ├─d3 │ │ d3a88e92-7f7d-4fee-ac42-20585efc0efa.json │ │ │ ├─d4 │ │ d46576a2-9546-4479-88d9-15d231e6303e.json │ │ d4fa770e-bad7-4579-98b3-586bfcb77d63.json │ │ │ ├─d9 │ │ d932f480-c4a8-49d6-8cda-a03143e51115.json │ │ │ ├─da │ │ daed04b0-f944-4d6d-b259-e5a314026fa9.json │ │ │ ├─dc │ │ dc0368d4-85a3-4347-9074-c5c0ab836f40.json │ │ dc049123-db43-4e82-8b18-fb47d3e6e8e1.json │ │ │ ├─df │ │ df5cd4b4-43a1-4b36-b361-ea0adbf719c2.json │ │ dfbc7635-b601-4bcb-8274-15dc8f9d92e3.json │ │ │ ├─e0 │ │ e06565e1-e3d4-4c2e-9986-cd913caf2999.json │ │ e084ee88-be20-4d86-bab3-42441eb73fde.json │ │ │ ├─e3 │ │ e39dade0-c7a8-4a27-9578-ad7f965fb7c7.json │ │ │ ├─e4 │ │ e4ad804a-aaeb-4479-b369-3a9ae26f6f80.json │ │ │ ├─e7 │ │ e7aba14b-f956-4480-b254-8d57832e273f.json │ │ e7bbde70-d98b-48cd-9335-7acb5764f593.json │ │ │ ├─e8 │ │ e863428c-a983-48c7-b0d0-461920c514b7.json │ │ e8b93313-2d56-401a-bf4f-d70c1280413b.json │ │ e8da5085-2e13-4166-8f70-503e153cb594.json │ │ │ ├─e9 │ │ e9ec654c-97a2-4787-9325-e6a10375219a.json │ │ │ ├─ea │ │ eacda806-39a0-4be9-bd2c-c78a8acf17dd.json │ │ eaf95c36-27f6-4dd1-8d38-8efec9177ed2.json │ │ │ ├─ef │ │ ef4e8995-c67d-4e7f-a8d4-269b1892ed7e.json │ │ efc6db68-0ffd-4e86-8327-63ff3cf0875b.json │ │ │ ├─f0 │ │ f0048c10-f03e-4c97-b9d3-3506e1d58952.json │ │ f078bd13-a356-4cc4-9291-1dfd9090eeca.json │ │ │ ├─f1 │ │ f1068e87-c6b5-4a2a-8ea4-3c093ae9f95e.json │ │ │ ├─f3 │ │ f34ee3be-c6d1-4bf7-8c6b-4f9a981808d1.json │ │ f3503b44-f03d-4a53-980b-f2406b963696.json │ │ │ ├─f4 │ │ f44cedd7-bea4-46b1-a973-14cb08cd786f.js │ │ f44cedd7-bea4-46b1-a973-14cb08cd786f.js.map │ │ │ ├─f5 │ │ f5f60557-5de7-4edc-abb8-922cdede8809.json │ │ │ ├─f6 │ │ f6d562e3-022e-411c-8306-7920d1740611.json │ │ │ ├─f7 │ │ f770949d-88c7-43bd-9df2-44a8c330375c.json │ │ │ ├─fa │ │ fa40b79d-8f7f-4a70-ac1e-cfa9ea76796f.json │ │ fab2f368-19fc-4e89-bc06-855fd23991f1.json │ │ │ ├─fc │ │ fc121c24-fed6-4a6e-930c-3df392d4c85f.js │ │ fc121c24-fed6-4a6e-930c-3df392d4c85f.js.map │ │ fc97d1ac-acd2-4b62-8239-b47a2ce81af0.json │ │ │ ├─fd │ │ fd73e7ca-d72f-4228-bbfe-d897ab8d3353.js │ │ fd73e7ca-d72f-4228-bbfe-d897ab8d3353.js.map │ │ │ ├─fe │ │ fe7528b1-e993-4d58-b738-a1554922de5e.json │ │ │ └─ff │ ffe33363-ee01-4e41-bdd0-38849e6d56f6.json │ ├─local │ │ assets.json │ │ console.json │ │ hierarchy.json │ │ layout.windows.json │ │ local.json │ │ node-library.json │ │ scene.json │ │ │ └─logs │ project.log │ ├─packages ├─screenshots │ alipay2.jpg │ fish.gif │ fish.gif.meta │ qqgroup.JPG │ wechatpay2.jpg │ ├─settings │ builder.json │ builder.panel.json │ project.json │ └─temp └─quick-scripts └─assets └─Script Bullet.js Bullet.js.map CoinController.js CoinController.js.map Coins.js Coins.js.map Fish.js Fish.js.map FishType.js FishType.js.map FluxayEffect.js FluxayEffect.js.map FluxayFrag.js FluxayFrag.js.map Game.js Game.js.map Net.js Net.js.map NumUp.js NumUp.js.map WaterWaveEffect.js WaterWaveEffect.js.map WaterWaveFrag.js WaterWaveFrag.js.map Weapon.js Weapon.js.map

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GFanStudio-LeeSir

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值