The Plane_mainMenu

2014-04-16

-----------------------------------------------------------------------------------------------------

三个文字Lable

创建成Menu后,第一个Label字体明显比第二个字体大,将CCMenuItemFont的setFont全去掉后,变成如图模样。

感觉很奇怪,原因思考中。

 _gameStart = CCMenuItemFont::create("Start", this, menu_selector(GameLayer::menuStartCallBack));_gameStart->setColor(ccc3(255, 255, 255));_gameEnd = CCMenuItemFont::create("Exit", this, menu_selector(GameLayer::menuEndCallBack));_gameEnd->setColor(ccc3(255, 255, 255));_gameMainMenu = CCMenu::create(_gameStart, _gameEnd, NULL);_gameMainMenu->setPosition(ccp(_screenSize.width*0.5, _screenSize.height*0.5));_gameMainMenu->alignItemsVerticallyWithPadding(50);_gameMainMenu->setContentSize(CCSizeMake(100, 100));this->addChild(_gameMainMenu,0);

2014-04-17

-----------------------------------------------------------------------------------------------------

今天添加了按钮scene切换,点击Start跳转到游戏黑屏,Exit退出游戏。

void GameIn::menuBackMenu(CCObject* pSender){CCDirector::sharedDirector()->replaceScene(GameLayer::scene());
}

2014-04-18

-----------------------------------------------------------------------------------------------------

团建。

2014-04-19

-----------------------------------------------------------------------------------------------------

团建。

2014-04-20

-----------------------------------------------------------------------------------------------------

今天准备好了画线,点,形。

 _gameObjectBullet = GameObject::create();_gameObjectBullet->setPivot(ccp(100, 100));_gameObjectBullet->setTip(ccp(200, 200));_gameObjectBullet->setShapesType(OBJ_LINE);_gameObjectBullet->draw();this->addChild(_gameObjectBullet);_gameObjectPlane = GameObject::create();_gameObjectPlane->setTip(ccp(150, 150));_gameObjectPlane->setShapesType(OBJ_POINT);_gameObjectPlane->draw();this->addChild(_gameObjectPlane);_gameObjectEnemy = GameObject::create();_gameObjectEnemy->setTip(ccp(300, 300));_gameObjectEnemy->setPivot(ccp(260, 260));_gameObjectEnemy->setShapesType(OBJ_RECT);_gameObjectEnemy->draw();this->addChild(_gameObjectEnemy);

2014-04-21

-----------------------------------------------------------------------------------------------------

今天添加了触摸事件,现在可以搬运着方框到处跑拉,当然,是无限制的。明天完善一下。

遇到问题:error C2061: 语法错误: 标识符“CCSet”

解决方法:在相应文件中添加引用宏“USING_NS_CC;”

实现以下三个方法:

    virtual voidccTouchesBegan(CCSet* pTouches, CCEvent* event);virtual voidccTouchesMoved(CCSet* pTouches, CCEvent* event);virtual voidccTouchesEnded(CCSet* pTouches, CCEvent* event);

在init方法中设置可触摸为true

this->setTouchEnabled(true);

拖动的动作主要是在moved中实现的。

2014-04-22

-----------------------------------------------------------------------------------------------------

今天头脑风暴,屏幕移动还没有实现完成,明天需要继续。最近几天头好乱,思绪是一点都没有拉。

以飞机为中心,四个方向

//up   (down,left,right)

//down (up,left,right)

//left(up,down,right)

//right(up,down,left)

后来一想好像不对,触摸屏幕中的任意一点,不用来区分上下左右,还是直接计算触摸点和拖动点的距离差比较靠谱些。

2014-04-23

-----------------------------------------------------------------------------------------------------

今天终于明白之前的错误在哪里了,今天我重新写了GameObject类,继续了CCNode,和CCTargetedTouchDelegate。

virtualvoid onEnter();

virtualvoid onExit();

boolcontainsTouchLocation(CCTouch* touch);

virtualbool ccTouchBegan(CCTouch* touch, CCEvent* event);

virtualvoid ccTouchMoved(CCTouch* touch, CCEvent* event);

virtualvoid ccTouchEnded(CCTouch* touch, CCEvent* event);

virtualvoid touchDelegateRetain();

virtualvoid touchDelegateRelease();

实现方法如上,在OnEnter()中添加触摸响应。

偏移计算方法为

bool GameObject::ccTouchBegan(CCTouch*touch, CCEvent* event){

if(!containsTouchLocation(touch)){

returnfalse;

}

else{

iscontrol= true;

CCPointtap = touch->getLocationInView();

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

offset.x= tap.x - this->getPosition().x;

offset.y= tap.y - this->getPosition().y;

}

returntrue;

}

void GameObject::ccTouchMoved(CCTouch*touch, CCEvent* event){

if(iscontrol){

CCPointtap = touch->getLocationInView();

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

floatx = tap.x - offset.x;

floaty = tap.y - offset.y;

//setPosition(ccp(tap.x,getPosition().y));

this->setPosition(x,y);

}

}

这样就可以实现随拖动坐标走动了,但现在有一个不好的地方,必须要触摸到Plane才会移动,可以考虑优化为触摸屏幕上任意一点,都随着移动,因为有些时候,你的手可能会挡到飞机拉,有那么复杂吗?哈哈,很简单拉,只需要把    if(!containsTouchLocation(touch)){

returnfalse;

}

去掉就OK拉,现在不必是必须触摸飞机本身喽,屏幕里的任意点都会生效。

隐形坑:

这里要注意的是getLocation()和getLocationInView(),前者在这种移动方法中,可能会造成Y轴反方向,所以需要使用在视图内的Location.

/** returns the current touch location in screen coordinates */

CCPoint getLocationInView() const;

/** returns the current touch location in OpenGL coordinates */

CCPoint getLocation() const;

看到了吧,getLocation是返回在OpenGl中的坐标,面OpenGl的坐标系好像正好和实际相反。

2014-04-24

-----------------------------------------------------------------------------------------------------

今天预想的是添加子弹,但遇到了一些问题,最后决定先添加一个激光枪吧,嘿嘿,因为它不涉及什么先后出现顺序问题,就一直在那就行拉。明天在继续想一下怎么实现圈圈子弹效果。

这些还都没有设置碰撞体,等先把子弹效果实现在来添加一下。

2014-05-03

-----------------------------------------------------------------------------------------------------

终于有时间来继续这个了,3.0了,好快。

《1》draw不能再被重写了,那么我们只能来用另外一个带好多参数的了,但调用方法和之前一样。

《2》touch需要注册下listen了,要不不会在触发。

    Node::onEnter();// Register Touch Eventauto listener = EventListenerTouchOneByOne::create();listener->setSwallowTouches(true);listener->onTouchBegan = CC_CALLBACK_2(Player::onTouchBegan, this);listener->onTouchMoved = CC_CALLBACK_2(Player::onTouchMoved, this);listener->onTouchEnded = CC_CALLBACK_2(Player::onTouchEnded, this);_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);

《3》undefined reference to  XXX 遇到这个一般是没有找到引用 ,寻思了半天,最后终于想起,我用的make编辑器不会自动 把你新添加的代码文件放到make列表的,自己手动加一下吧。。。。。。想了半天才想到,好2 -+-。

The Plane.相关推荐

  1. DPDK(Data Plane Development Kit)快速处理数据包 开发平台及接口 简介

    一.网络IO的处境和趋势 从我们用户的使用就可以感受到网速一直在提升,而网络技术的发展也从1GE/10GE/25GE/40GE/100GE的演变,从中可以得出单机的网络IO能力必须跟上时代的发展. 1 ...

  2. 【CodeForces】576 C. Points on Plane

    [题目]C. Points on Plane [题意]给定坐标系中n个点的坐标(范围[0,10^6]),求一种 [ 连边形成链后总长度<=2.5*10^9 ] 的方案.n<=10^6. [ ...

  3. android 模拟飞行,安卓版模拟飞行 X Plane 9试玩

    2004年的圣诞节那天,我垂头丧气地坐在我家的廉价电脑前,盯着那老式的CRT显示器屏幕.我都不知道电脑里的模拟飞行游戏是正在安装,还是已经卡死了.电脑主机在桌子下面嗡嗡嗡地响,都快带不动这个庞然大物般 ...

  4. VTK:几何对象之Plane

    VTK:几何对象之Plane VTK:几何对象之Plane 描述 代码 Plane.cxx CMakeLists.txt VTK:几何对象之Plane 描述 vtkPlaneSource对象创建一个m ...

  5. CodeForces - 1529F It‘s a bird! No, it‘s a plane! No, it‘s AaParsa!(最短路+思维建图)

    题目链接:点击查看 题目大意:给出 nnn 个点(从 000 开始编号)和 mmm 条边的有向带权图,不过 mmm 条边是动态的,经过 ttt 秒后,第 iii 条边就从 ai−>bi,cia_ ...

  6. PADS2007中的层类型(plane type) 简介

    所有平面层中包括非特殊层(非平面层NO PLANE,通常为走线ROUTING层)和特殊层(包括CAM平面层及SPLIT分割混合层). 1. No plane:通常指走线层,如Top   Bottom, ...

  7. F. It‘s a bird! No, it‘s a plane! No, it‘s AaParsa!

    F. It's a bird! No, it's a plane! No, it's AaParsa! 题意: 有n个城市,每个城市都有一个传送大炮指向另一个城市,每个大炮都有发送时间,每过1s,大炮 ...

  8. 平面方程(Plane Equation)

    平面方程(Plane Equation) 原文链接:http://www.songho.ca/math/plane/plane.html 翻译:罗朝辉 (http://www.cnblogs.com/ ...

  9. [Unity] Canvas 设置为 Screen Space - Camera 时,UI 被场景物体遮挡的解决办法:设置 Canvas 的 Plane Distance 为一个较小的数

    Canvas 设置为 Screen Space - Camera 时,UI 可能被场景物体遮挡,如下图所示 只要设置 Canvas 的 Plane Distance 为一个很小的值,它就几乎永远不会被 ...

  10. 微软研究院研究员Ryan Beckett 博士论文《Network Control Plane Synthesis and Verification》下载—2018ACM最佳博士论文题目奖

    欢迎关注微信公众号[计算机视觉联盟] 获取更多前沿AI.CV资讯 论文下载 关注微信公众号[计算机视觉联盟],回复关键词[Ryan]即可下载全文! 论文封面 论文目录 目前,Beckett 是微软研究 ...

最新文章

  1. 第三篇 (.net socket 与 android )
  2. kafka数据丢失的场景
  3. vi编辑器的学习使用(十五)
  4. 有关像素动作游戏《Resolutiion》美术哲学的讨论
  5. linux 批量替换
  6. AliRTC 开启视频互动 “零计算” 时代
  7. Packet Capture
  8. 使用Connector / Python查询MySQL数据
  9. 微信小程序文件下载---视频,图片。
  10. qmap按插入顺序排序_C++语言排序算法之插入排序
  11. 通过VC编程实现基于LAN的PC机与Tektronix示波器通信
  12. 如何查看MacBook Pro硬盘序列号
  13. 查看mysql端口 windows_Windows运维之windows下如何查看和修改MySQL的端口号
  14. Android Proguard 不混淆所有第三方jar(忽略配置设置)
  15. php微信公众号开发,入门篇(实现了关注公众号发送欢迎信息,发关键词自回复)
  16. 朴素贝叶斯、贝叶斯网络分类器
  17. 如何装虚拟机及在上面安装LINUX操作系统
  18. 新手程序员快速升职项目经理(程序员小故事1)
  19. 新书推荐 |《种子用户方法论》
  20. 正版计算机软件识别方法,微软正版软件如何识别?

热门文章

  1. Java 逆向工程
  2. 构造一个Car类,包含无参和有参两种构造方法
  3. 如何 Scale Up/Down?- 每天5分钟玩转 Docker 容器技术(126)
  4. springboot+mysql “友书”综合书籍平台-计算机毕业设计源码24489
  5. html中hover无法触发,CSS hover失效的原因总结
  6. 剑指 Offer 15. 二进制中1的个数
  7. 【强烈推荐】【超强去水印神器】支持给图片视频一键去除/添加水印!
  8. 英特纽购途索的商业模式是否存在裂变效应?
  9. Andrid自定义view:打造3D画廊
  10. html5教程 w3cschool,W3Cschool学习笔记——HTML5基础教程