• cocos2dx 3.0 飞机大战


    因为课程须要。然后又水平有限。所以写了个飞机大战。加上不会画画。所以图片资源也是从微信apk解压出来的,设计思路參考的偶尔e网事


    闲话不说。先讲一下设计。大体上一共分为3个场景。场景以下是Layer


    開始场景:WelcomeScene -->WelcomeLayer  类似欢迎界面

    游戏主场景:GameScene  --> GameLayer  游戏元素加入 和 碰撞检測

    结束场景:GameOverScene -->GameOverLayer


    然后是游戏的元素,在GameLayer加入,一个分为4个Layer:


    PlaneLayer:主角层 

    EnemyLayer:敌机层 ,分为3种,每种敌机生命值不一样

    UFOLayer: 道具层,bullet和加bomb

    BulletLayer:子弹层 bullet 和mutiBullet


    然后简单讲一下碰撞检測的实现:

    if(bullet->boundingBox().intersectsRect(enemy1->getBoundingBox())){
    				if(enemy1->getLife() == 1){
    					enemy1->loseLife();
    					bulletsToDelete->addObject(bullet);
    					enemy1ToDelete->addObject(enemy1);
    					score += ENEMY1_SCORE;
    					this->mControlLayer->updateScore(score);
    				}
    			}
    Rect Enemy::getBoundingBox(){
    	Rect rect = this->m_sprite->boundingBox();
    	Point pos = this->convertToWorldSpace(rect.origin);
    	return Rect(pos.x, pos.y, rect.size.width, rect.size.height);
    }


    还有再来就是子弹层的处理:

    子弹发射须要步骤:1.加入子弹,2.移动子弹。3移除子弹

    因为须要源源不断的发射子弹,所以将子弹加入到一个SpriteBatchNode节点中。然后在这个SpriteBatchNode节点对子弹进行加入,移动,和移除,这样子做的优点是仅仅须要渲染一次。减少内存消耗

    auto texture = TextureCache::getInstance()->textureForKey("shoot.png");
    	bulletBatchNode = SpriteBatchNode::createWithTexture(texture);
    	this->addChild(bulletBatchNode);


    然后再讲一下图片资源的处理:


    下载这个工具:plist解析工具

    将微信须要的资源解析出来。然后能够用photoshop处理一下,哈哈。能够将微信的图片去掉,随便p上自己的名字

    然后用TexturePacker打包。恩。大概就像这样子




    最后再讲一下编译成androidproject的步骤和细节:


    1.先在Android.mk文件里加入全部必须的cpp

    2.记得在AppDelegate cpp 中加入分辨率适应

    glview->setDesignResolutionSize(480,800,ResolutionPolicy::SHOW_ALL);
    3.在proj.android目录以下改动AndroidManifest.xml 竖屏属性:
    android:screenOrientation="portrait"

    4.cmd到project文件夹。命令:cocos compile -p android -j 4




    源代码:飞机大战



  • 相关阅读:
    高并发系统如何设计
    PHP的垃圾回收机制(开启垃圾回收机制后的优缺点是什么)
    移动端网站如何开发(电脑端网站到手机端网站我们需要在html代码中添加哪个meta标签)
    家庭洗车APP --- Androidclient开展 之 网络框架包介绍(一)
    一天JavaScript示例-判定web页面的区域
    左右margin top问题百分比值
    Ubuntu14.04设备JDK
    三层架构,四大天王——删
    MEMO:UIButton 中的图片和标题 左对齐
    HDU 3874 离线段树
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5171501.html
Copyright © 2020-2023  润新知