cocos2dx入坑记
wjysg8408982
开摆
展开
-
cocos2dx点击和键盘事件
这是标题点击事件键盘事件关于事件:cocos2dx里面有很多种事件,比如点击事件,碰撞事件,键盘事件等等,但是处理它们的方式,大同小异1.先获得对应事件的监听器对象2.为对应的事件设置回调函数3.通过导演获得事件分发器,在和对应的控件绑定这样在对应的控件进行对应的操作的时候就会调用对应的回调函数点击事件 // 创建一个标签控件 auto label = Label::create("touch", "Arial", 30); // 把坐标设置到屏幕中心 label->setPosi原创 2020-06-13 18:44:46 · 1124 阅读 · 0 评论 -
cocos2dx创建菜单的基本方法
这是标题最简单的文字菜单最简单的图形菜单简单的精灵菜单触发器菜单最简单的文字菜单// MenuItemFont::create创建四个菜单项,第一个参数是菜单项名称,第二参数是点击该项触发的回调函数auto item1 = MenuItemFont::create("No.1", CC_CALLBACK_1(HelloWorld::gofind, this));auto item2 = MenuItemFont::create("No.2", CC_CALLBACK_1(HelloWorld::go原创 2020-06-10 00:41:57 · 291 阅读 · 0 评论 -
cocos2dx中创建精灵的全部方法
cocos2dx中创建精灵的三种方法1.用图片创建2.通过内存中纹理3.通过缓存1.用图片创建auto sprite = Sprite::create("bg.png"); //读文件。适用于图片使用频率低auto sprite = Sprite::create("bg.png", Rect(0,0,0,0)); //可以通过第二个参数传入相对坐标2.通过内存中纹理// 获得纹理,图像在内存的存储Texture2D *tt = Director::getInstance()->ge原创 2020-06-09 11:07:25 · 572 阅读 · 0 评论 -
如何在cocos2dx实现碰撞检测,物理世界Scene::createWithPhysics()
cocos2dx中的物理世界精灵和碰撞如何在引擎的物理世界中进行碰撞创建游戏中的物理世界为精灵设置刚体设置物理属性给刚体设置碰撞相关的掩码关于回调函数标题回调函数的内部实现精灵和碰撞在没有接触到游戏引擎自带的物理引擎之前,应该怎么检测两个屏幕上的精灵或者说图片是否接触和碰撞,通常会通过坐标,检测两个精灵的坐标是否相交,这样的方法放在游戏引擎里就很蠢。游戏引擎里提供了封装的物理引擎API,通过这些API能更好的模拟显示世界中的物理效果。如何在引擎的物理世界中进行碰撞一般分为4步1.创建物理场景2.原创 2020-06-08 23:26:52 · 1547 阅读 · 0 评论 -
cocos2dx和地图编辑器Tiled相关
cocos2dx和Tiled地图编辑器(Tiled)cocos2dx地图编辑器(Tiled)可以通过文件新建地图,然后快速添加图层和对象达到快速制作地图,图层相当于背景层,对象就是先占好一个位置,然后在代码里添加相应的对象新建的tmx文件保存到cocos2dx的Resources文件里可以通过代码访问cocos2dx // 使用实例 // 通过TMXTiledMap类就能访问到编辑的地图文件 TMXTiledMap *map; // 通过getObjectGroup(name)获得tmx原创 2020-05-27 22:52:45 · 274 阅读 · 0 评论 -
初识cocos2dx动作和动画
动作和动画关于动作关于动作动作类(Action)动作类(Action)是所有动作的基类,它创建的一个对象代表一个动作。动作作用于Node,因此每个动作都需要由Node对象执行。动作类(Action)作为基类,实际上是一个接口,动作类的大多数实现类都派生于有限时间动作类(FiniteTimeAction)。在实际开发中我们通常用到两类动作-即时动作和持续动作,它们均继承于有限时间动作类。即时动作类auto placeAction = Place::create(Point(10, 10));Pl原创 2020-05-27 22:01:51 · 378 阅读 · 0 评论 -
cocos2d-x为什么大量使用宏定义函数,而不选择使用模板?
先有cocos2d-python, 之后移植到iOS上面,成了cocos2d-iphone。cocos2d-iphone使用objc编写。随着iOS的流行,cocos2d-iphone在iOS的游戏开发中,变得流行。cocos2dx是在cocos2d-iphone流行之后,采用C++重新编写的,x表示cross, 就是cross platform(跨平台)的意思。在3.0之前,cocos2dx只是在在cocos2d-iphone后面跟随模仿,所有的接口,类名,设计跟cocos2d-iphone一模一样,转载 2020-05-26 21:58:22 · 136 阅读 · 0 评论 -
cocos2dx的时间调度之一scheduleUpdate()函(帧循环)
最近尝试做一个酷跑类型游戏的游戏场景demo,其实像酷跑类型的游戏,基本都是人物在原地,通过移动背景图片作为参照物,造成人物在移动的感觉。那怎么让游戏场景移动?这时候就可以用时间调度机制scheduleUpdate()函数。游戏引擎里面有一个帧循环,多少帧率,就是游戏引擎每秒能播放多少张图片,写上scheduleUpdate()函数就是表示启动时间调度,这样每走一帧,就会调用一次一个需要用户自己...原创 2020-05-07 17:48:57 · 437 阅读 · 0 评论 -
用vs2017编译cocos2dx2.7以上版本常见报错的解决
今天刚装cocos引擎,准备跑起来,练练手结果因为vs是2017版本,结果本来在vs2012上能完美运行的cocos2dx代码,结果却翻了车,结果查了一下,得知是vs2017的一些库函数的配置改变了,就我这次遇到的几个比较容易遇到的问题总结一下1.snprintf宏重定义:#error: Macro definition of snprintf conflicts原因在VS2017前,Win...原创 2020-04-18 20:13:07 · 1161 阅读 · 0 评论 -
CREATE_FUNC以及cocos2dx创建对象的方式
学习框架级应用,应该先搞懂它宏观上面向对象结构,面向对象面向对象自然得先从对象入手,抛开游戏引擎本身的规范,从C++的角度来看一个类这里是我们自己定义的MenuScene类,用于实现场景/*场景更多是一个宏观概念,微观上场景是由多个布景层组成的,所以在构建场景时,一般选择直接继承布景层Layer*/class MenuScene : public cocos2d::Layer{publi...原创 2020-04-27 20:49:13 · 735 阅读 · 0 评论