摘要: CCArray也是cocos2d-x自己写的类。它相当于是objc的NSArray。在cocos2d-x中是没有NSArray的概念的(NSArray和NSMutableArray的唯一区别就是一个不可以改变数组中含有的对象,另一个可以改变)。但是CCArray也有一个小问题。首先,CCArray是不能使用new的方式创建的。其次,使用CCArray::array()创建的数组,即使这个数组已经是当前类的成员变量,也必须要做一次retain,否则的话在创建数组的函数返回的时候,CCArray就会被直接释放掉了。由于这个问题也无法通过编译时候暴露出来,而且在objc中创建自动释放的NSArray 阅读全文
posted @ 2013-10-16 17:34 awodefeng 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 最近我们的cocos2d-x游戏项目已经进入了正式开发的阶段了,几个dev都辛苦码代码。cocos2d-x还是一套比较方便的api的,什么action啊、director啊、ccpoint啊都蛮便捷的。但是我看到几个dev有时候会很不知道用它们,还是首先自己去写函数……用一些比较原始、低效率的方法……甚至是copy / paste………………。……。这不科学啊!你不能这么勤劳啊!你这么勤劳要出事的啊!每年有多少程序员过劳死啊!程序员一定要是懒骨头才是正道啊!首先第一个,看到有问题,要写很多代码处理问题,自己动手,丰衣足食——不是一条好路,是一条革命的老路。我们前面有那么多前任程序员的尸体,要学 阅读全文
posted @ 2013-10-16 17:00 awodefeng 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 在游戏设计时,我们需要不断的改变屏幕显示来反映游戏操作的效果,最简单的就是提示用户已经进行的游戏时间。为此,我们需要使用cocos2d-x内置的任务调度机制,即CCNode的schedule成员函数。voidschedule(SEL_SCHEDULEselector)schedules a selector.voidschedule(SEL_SCHEDULEselector,ccTimeinterval)schedules a custom selector with an interval time in seconds.voidunschedule(SEL_SCHEDULEselector 阅读全文
posted @ 2013-10-16 12:43 awodefeng 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 首先看一到用 c 编写的程序/* -------------------- filename : ta.c --------------- */int switch_test_first( int x ){ int res ; switch( x ){ case 100 : res = 1 ; break ; case 102 : res = 2 ; break ; case 103 : res = 3 ; break ; } return res ;}然后,我们用 gcc 将它编译成汇编文件( 使用 -S 开关 )gcc -S ta.c 将得到如下的汇编文件( ta.s ) .file &q 阅读全文
posted @ 2013-10-10 16:51 awodefeng 阅读(382) 评论(0) 推荐(0) 编辑
摘要: C++的封装性 C++的阶段,我想根据C++的一些特有的特性分别写一些专题,每个专题我都捎带讲一些语法,当然不会很多,我还是会像C语言那样,内存结构贯穿始终,有汇编就有真相…… 本专题,我们讲述封装性。封装性是C++的入门特性,要想学习C++语言,封装性是首先要掌握的。下面我们进入正题:一、 类与对象早在本系列第一节课(理解程序中的数据)的时候讲述过数据类型与数据的区别和联系当时得出的结论如下:数据类型规定了数据的大小和表现形式数据就是电脑中存放的数。每个数据都有自己的地址,而这些地址可以有变量来代替因此,数据通常存放于变量(或常量)中这个结论在C++中仍然同样适用,类就是我们自己定义的复杂的 阅读全文
posted @ 2013-09-21 16:47 awodefeng 阅读(2132) 评论(0) 推荐(1) 编辑
摘要: 第十一章 制作炮台的旋转大家知道,炮台需要向四周不同的角度发射炮弹,这就需要我们将炮台设置成为会旋转的物体,接下来我们就一起制作一个会旋转的炮台。第一步:给炮台的炮筒添加旋转函数。给炮台的炮筒部分添加一个旋转函数,使得炮台随着鼠标在X方向上的移动而移动。在Project【项目文件栏】中右键——> ——> 新建一个JS函数,并按F2将其更名为“TurretRotate”,然后输入如下代码。点选场景面板中的炮塔,找到炮塔上半部分所对应的对象,如图11.1所示:图11.1接着将刚才的 文件拖拽给这个对象。第二步:设置摄像机跟随。选中摄像机对象“Camera”,点选菜单栏中的 ——> 阅读全文
posted @ 2013-09-20 16:08 awodefeng 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 第六章 Unity3D中的C#Script编程的注意事项也许您在学习Unity3D之前,已经是一位C#的编程高手了。但在Unity3D中的C#并不像真正的C#那般强大,在Unity3D的C#中必须全部继承自MonoBehaviour。下面为一段C#Script的完整代码:除此之外它不支持空间命名,但官方说他们很有可能会在以后的版本中支持这一功能。在Unity3D中,JavaScript和C#Script的编程效果近乎一样。只是为了不同程序爱好者设立了不同的编程模式。并且JavaScript所编写的代码对象可以和C#Script编写的代码对象交叉使用,并不发生任何冲突。第七章 修改MonoDev 阅读全文
posted @ 2013-09-20 16:05 awodefeng 阅读(994) 评论(0) 推荐(0) 编辑
摘要: 第九章 图形用户界面类G.U.I您在玩很多3D游戏的时候,不知是否注意到在游戏界面中,总有一些图形和文字信息是不随着3D视角的改变而改变的。这也是由于游戏本身的要求而决定的。比如说英雄的生命值,聊天窗口的文字信息等等。这些不被改变的内容就被称作G.U.I。下面我们一起在Unity3D中简单做两个G.U.I实例,来说明它的用法。我们在现有场景的基础上制作一个炮弹发射的游戏。想想一个炮弹发射的游戏都需 要那些元素?是不是应该在画面的一个角落显示炮弹填发的情况?就像大多数3D游戏那样,您的魔法值在使用后需要一定的回复时间。接下来我们制作一个弹药装 填的效果。第一步:制作弹药装填图案。用PhotoSh 阅读全文
posted @ 2013-09-20 16:04 awodefeng 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 众所周知,Unity3D是一个能够实现轻松创作的多平台的游戏开发工具,是一个全面整合的专业游戏引擎。在现有的版本中,其强大的游戏制作功能已 经达到让人瞠目结舌的地步。尤其是它在3.0版本里面制作的那款第一人称战争游戏,画质效果丝毫不逊色于当下十分流行的《穿越火线》、《战地之王》等主流 第一人称射击游戏。下图为Demo中的显示效果:看到如此绚丽的效果,让我马上走进精彩的Unity3D世界吧!首先要下载Unity3D,在官网上就可以完成。Unity3D的官方网站:http://unity3d.comUnity3D的下载地址:http://unity3d.com/unity/download/下载好 阅读全文
posted @ 2013-09-20 16:03 awodefeng 阅读(487) 评论(1) 推荐(0) 编辑
摘要: 第四章 为地形添加水源、水流以及水下的模糊效果制作好了地形的各种效果,接下来我们给场景添加一些水效果,使场景更加丰富。第一步:添加水面由于我在上一次的地形创作中就已经在山峰之间制作了一块洼地,它就可以作为一个放置湖水的地方。如果您上次的创作并没有这样的地形,那么请您重新创建一个山势地形图,就当作自己的一次练习吧。在场景面板中点击Y方向的绿色箭头 ,切换到顶视图,这样可以便于我们很快的找到洼地所在的地方。如图4.1所示:图4.1然后用鼠标滚轮迅速的推进观测距离。如图4.2所示:图4.2接着再到Project【项目文件栏】找到“Standard Assets”文件夹下的 (仅限专业版使用,如果.. 阅读全文
posted @ 2013-09-20 16:03 awodefeng 阅读(282) 评论(0) 推荐(0) 编辑