Cocos2D-X
文章平均质量分 60
岳麓吹雪
现在努力,以后就可以休息
展开
-
Cocos2D-X学习4:几个重要的类:Node、Director、Scene、Layer
Cocos2D-X引擎中与渲染有关的大多数类都来自于一个基类,它被称作根源种子Node。场景Scene、层次Layer、精灵Sprite以及精灵集合SpriteBatchNode的父类都是Node。根源种子的父类是Ref,是整个引擎的根源。下表为Node类的一些常用属性,这些属性都和画面的绘制有关。属性描述默认值position位置0,0原创 2016-10-08 20:36:21 · 2630 阅读 · 0 评论 -
Cocos移植apk时出现的extra qualification错误
之前为了测试程序方便,在程序里增加了退出按钮,结果就报错了,错误提示如下: 当时主要在写计步器,由于并不是必须使用退出按钮,因此就暂时搁置了,现在写完了计步器回头来解决这个问题。 开始以为是由于回调函数没有写对,改了半天,在网上搜了半天,终于找到了答案。原因在于 HelloWorldScene.h文件中定义了函数void HelloWorld::menuCloseCallback(coco原创 2016-12-12 23:02:59 · 788 阅读 · 0 评论 -
Cocos2D-X开发学习笔记1:加速度传感器
最近报名了微软创新杯,正好在实战中学习Cocos2D-X,应该会进步更快。初步打算做个运动软件,需要用到加速度传感器,因此首先学习一下加速度传感器的使用。首先来看一下原理。加速度传感器可以获取如图x,y,z三个方向的加速度。手机静止时受到重力,可以确定合力方向向下。当手机被移动时,可以根据手机静止时的状态和各方向的加速度变化来确认各个方向。 Cocos2D-X中支持加速度传感器,将三个轴上的加速度原创 2016-12-07 21:54:42 · 1338 阅读 · 0 评论 -
Cocos2D-X开发学习笔记2:定时器
在上节对加速度传感器的学习中,发现在实际应用中,需要设定一段时间间隔,记录开始和结束的加速度,来进行比较确定其变化。因此接下来将对定时器进行学习。Cocos2D-X中提供了一个对象schedule,可以通过它来实现定时器的功能。 下面是一个简单的示例:bool HelloWorld::init(){ ////////////////////////////// // 1. sup原创 2016-12-07 22:54:37 · 475 阅读 · 0 评论 -
Cocos2D-X学习11:交互功能——单点触控的实现
交互是应用最重要的一个部分,用户使用鼠标、键盘、触控来实现交互操作。在Cocos2d-x中,提供了EventListenerTouch(触摸事件)、EventListenerKeyboard(键盘响应事件)、EventListenerMouse(鼠标响应事件)、EventListenerAcceleration(加速记录事件)和EventListenerCustom(自定义事件)的触发器类型,来实现原创 2016-11-28 11:15:28 · 1078 阅读 · 0 评论 -
Tiled map导入问题
今天在项目中使用了tiledmap生成的地图,一直报错,错误如下: 错误指向代码:bool Texture2D::hasPremultipliedAlpha() const{ return _hasPremultipliedAlpha;}查了下,是导入的图片问题,报错应该是由于没有图片资源。在使用tiled生成的tmx文件时,需要将地图编辑时将生成的tmx文件和使用到的图片也复制原创 2017-01-13 15:53:38 · 3982 阅读 · 1 评论 -
CocosCreator学习6:碰撞系统
今天来通过一个简单的例子学习碰撞。碰撞组件首先来看碰撞组件。CocosCreator提供了三种碰撞组件:Box Collider,Circle Collider,Polygon Collider。增添十分简单,只需要选中节点在属性检查器中选择添加组件。 这里使用的是Box Collider,可以看到节点周围多了一个绿色的框,这就是碰撞体。 在属性检查器中可以看到碰撞体的属性,选中Edit原创 2017-05-03 22:22:16 · 23537 阅读 · 4 评论 -
CocosCreator学习5:实现物体拖动
今天来学习一下如何实现物体拖动。 通过CocosCreator内置的cc.Node.EventType.MOUSE_MOVE鼠标事件实现,其返回参数为鼠标的坐标值delta.x,delta.y。将节点的位置坐标x、y等于鼠标事件返回的坐标值delta.x,delta.y即可实现物体的拖动。脚本代码如下:cc.Class({ extends: cc.Component, propert原创 2017-04-28 16:16:17 · 16401 阅读 · 6 评论 -
CocosCreator学习4:Android平台打包
我做的应用需要使用传感器,在电脑上是无法调试的,因此需要打包,下面来学习如何打包APK。搭建Android环境首先需要将Android环境搭建好,需要用到Android SDK、NDK、Ant和JDK。这里不多说了,在网上有很多教程,注意在写完环境变量后记得注销或者重启。 我之前在使用Cocos2d-x时已经配置好了环境,下面直接来看CocosCreator打包操作。CocosCreator偏好设原创 2017-02-23 21:12:08 · 18796 阅读 · 8 评论 -
CocosCreator学习3:定义全局变量
今天在学习中使用到了多个按钮1,2,3,4,为了按1按钮将data值修改为1,按2修改为2……我需要将data定义为一个全局变量。下面这位大神写的很清楚。 http://blog.csdn.net/u010971754/article/details/51815325参考他的博文,定义全局变量有两种方法: 1.创建一个专门的脚本来记录全局变量,在其他脚本中引用即可。 2.设置一个常驻空节点,给原创 2017-02-22 22:19:32 · 20711 阅读 · 0 评论 -
CocosCreator学习2:场景的创建和切换
之前是按照教程一步一步设置,直接复制代码做了一个游戏,算是大体熟悉了下CocosCreator的使用习惯。今天自己来尝试做一下项目,首先来学习一下场景的创建和切换。打开CocosCreator,新建一个Hello World项目。创建后可以看到,项目中分类已经建好了,只需要将素材放到相应文件夹下就可以了。 场景的创建我们首先来创建一个新场景,在资源管理器中选中asserts-Scene,右击选择新原创 2017-02-22 09:58:30 · 21003 阅读 · 2 评论 -
Cocos2d-x打包apk中犯得低级错误
因为没有具体写需要手机测试的应用,把环境搭建完后就没试过,结果发现,遇到了好多问题,在这里记录一下。1、在配置的时候sdk环境没有写好,只在用户变量中增加了ANDROID_SDK_ROOT,结果发现使用android list target显示不是内部命令。解决方法:需要在环境变量中加一个ANDROID_SDK_HOME,变量值为sdk的位置D:\adt\sdk。2、在原创 2016-12-02 22:10:44 · 2237 阅读 · 1 评论 -
Cocos2D-X开发学习笔记3:简单计步器
利用加速度传感器和定时器简单写了个计步器,精度不高,不过对于一般的匀速步行计步效果还是可以的。计步器原理: 参考:http://www.cnblogs.com/IamEasy_Man/archive/2009/12/12/1622582.html 人在行走时随身携带的手机也会随之抖动,因此可以使用加速度传感器的加速度变化来判别手机是否发生运动。 在第一节中学习了加速度传感器的原理,这里就是利用原创 2016-12-11 10:42:37 · 695 阅读 · 0 评论 -
Cocos2D-X学习10:实战练习——一个简单的钢琴
上一节中对音乐的播放进行了学习,最后曾提到,因为使用的都是对背景音乐的操作,适合于大段音乐的播放控制,而对于一般的小段音乐是不适合的。这一章将通过编写一个钢琴小游戏,来对小段音乐的播放控制进行学习。首先在MyScene.h中增加定义,用于控制琴键播放音乐:class MyWorld :public cocos2d::Layer{public: static cocos2d::Scene*原创 2016-11-19 11:27:22 · 1496 阅读 · 0 评论 -
Cocos2D-X学习6:在屏幕上显示图像
之前学习了文字的显示,现在继续学习如何显示图像,实际方法和增添文字很像,因此学起来十分容易了。cocos2d-x通过精灵类来显示图像,下面先来理解试一下精灵的概念。在cocos2d-x的游戏中,一个怪物、道具、角色,都是被看成一个精灵,游戏背景作为独立的一部分,也可以看做一个精灵。下面将做一个简单的游戏开始界面学习图像的显示,代码如下: /***************原创 2016-11-05 17:45:52 · 1122 阅读 · 0 评论 -
Cocos2D-X学习1:搭建开发环境(win7+VS2012)
Cocos2D-X的环境搭建教程原创 2016-10-05 11:22:58 · 556 阅读 · 0 评论 -
Cocos2D-X学习2:使用cocos-console创建项目工程
Cocos2D-X学习笔记:使用cocos-console创建项目工程原创 2016-10-05 14:14:24 · 1180 阅读 · 0 评论 -
Cocos2D-X学习3:创建一个新的场景
首先使用cocos-console创建一个项目工程,在命令行窗口下输入cocos new -p CocosProject01 -l cpp -d D:\cocos2d-x-3.3\test\ CocosProject01,创建一个名为CocosProject01的项目并使用VS2012打开。右击该项目,选择增加-类,创建一个名为MyScene的新类,如下图注意,虽然MyS原创 2016-10-12 21:31:59 · 3520 阅读 · 0 评论 -
Cocos2D-X学习5:在屏幕上显示文字内容
Cocos2d-x显示文字使用的是Label控件。在3.x版本的Cocos2d中,用一个新的类Label对之前版本所使用的LabelTTF、LabelAtlas、LabelBMFont 3个用于显示文字的类进行了封装。原创 2016-10-23 11:05:38 · 2111 阅读 · 0 评论 -
Cocos2D-X学习8:屏幕适配
在之前的代码中,都是将屏幕尺寸直接设置为640*360,并没有考虑屏幕适配的问题,而实际的游戏开发中,需要进行屏幕适配。实际上,在Cocos2d-x中已经提供了一套相对完整的解决方案,能够适应移动开发中的各种分辨率大小,以及不同宽高比所带来的碎片化问题。游戏开发中设备的分辨率和宽高比对游戏兼容性的影响:1、屏幕大小:将低分辨率的图片放到高分辨率设备上,会出现严重的马赛克,影响观原创 2016-11-12 17:01:39 · 627 阅读 · 0 评论 -
Cocos2D-X学习7:菜单按钮
Cocos中通过设置菜单,可以使按钮具备交互功能。原创 2016-11-10 22:53:14 · 1936 阅读 · 0 评论 -
Cocos2D-X学习12:交互功能——多点触控的实现
上一节对单点触控进行是学习,而在实际使用中,还经常用到多点触控,下面来学习多点触控。 在单点触控的基础上,学习多点触控还是比较简单的,在实际使用中一般已两点触控居多,其最常见的功能是放大、缩小等。下面为一个多点触控的示例:auto myListener = EventListenerTouchAllAtOnce::create(); myListener->onTouchesBegan =原创 2016-11-29 22:16:26 · 723 阅读 · 0 评论 -
Cocos2D-X学习13:交互功能——鼠标和键盘
在Cocos2D-X中还支持鼠标和键盘的输入,下面将对其进行学习。下面是一个使用鼠标键盘的示例: Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); //在屏幕上显示指针团案 thi原创 2016-12-01 09:31:06 · 4409 阅读 · 0 评论 -
Cocos2D-X学习9:播放音乐
之前学习了Cocos2D-X中场景内容的显示,现在来学习声音的播放。需要在MyScene.h中增加play,stop,pause定义,用于控制音乐的播放、停止、暂停:class MyWorld :public cocos2d::Layer{public: static cocos2d::Scene* createScene(); // 定义静态函数,用于获取场景对象 virtua原创 2016-11-19 10:34:57 · 557 阅读 · 0 评论 -
CocosCreator学习1:做一个简单的游戏
把计步器写好了,到了写游戏场景、控件什么的时候,傻眼了。想做一个简单的地图,可以在地图上点击选择城市,发现用Cocos2D-X代码码出来好麻烦,尤其是城市位置问题,需要调试去找对像素区域做一个按钮控制,整个人都不好了。本来还想尝试用Tiled map来做,想法很逗比,应该不能用。今晚被长辈连番教育中,说到了撞墙走弯路才想起来,当初光顾着学引擎看代码了,竟然忘了还有CocosCreator,这么简单实原创 2017-02-20 21:41:32 · 24863 阅读 · 1 评论