随笔分类 - cocos2d
摘要:coocs2dx 版本 3.1.1registerScriptTouchHandler 注册触屏事件registerScriptTapHandler 注册点击事件registerScriptHandler 注册基本事件 包括 触屏 层的进入 退出 ...
阅读全文
摘要:function class(classname, super) local superType = type(super) local cls --如果父类既不是函数也不是table则说明父类为空 if superType ~= "function" and superTy...
阅读全文
摘要:5.1之前, 全局变量存储在_G这个table中, 这样的操作:a = 1相当于:_G['a'] = 1但在5.2之后, 引入了_ENV叫做环境,与_G全局变量表产生了一些混淆,需要从原理上做一个理解。在5.2中,操作a = 1相当于_ENV['a'] = 1这是一个最基础的认知改变,其次要格外注意...
阅读全文
摘要:lua 的整体效率是很高的,其中,它的 table 实现的很巧妙为这个效率贡献很大。lua 的 table 充当了数组和映射表的双重功能,所以在实现时就考虑了这些,让 table 在做数组使用时尽量少效率惩罚。lua 是这样做的。它把一个 table 分成数组段和 hash 段两个部分。数字 key...
阅读全文
摘要:加载指定的模块。首先函数会在 package.loaded 这个表中查看是否已经加载 了 modname 这个模块。如果是,那么 require 会返回保存在 package.loaded[modname]的值。否则它将尝 试去查找一个加载该模块的加载器。require 是由 package.sea...
阅读全文
摘要:很快就要开始介绍Lua里的“面向对象”了,在此之前,我们先来了解一下Lua的模块。1.编写一个简单的模块Lua的模块是什么东西呢?通常我们可以理解为是一个table,这个table里有一些变量、一些函数…等等,这不就是我们所熟悉的类吗?没错,和类很像(实际上我说不出它们的区别)。我们来看看一个简单的...
阅读全文
摘要:前言元表对应的英文是metatable,元方法是metamethod。我们都知道,在C++中,两个类是无法直接相加的,但是,如果你重载了“+”符号,就可以进行类的加法运算。在Lua中也有这个道理,两个table类型的变量,你是无法直接进行“+”操作的,如果你定义了一个指定的函数,就可以进行了。那这篇...
阅读全文
摘要:对于J2ME框架下的手机游戏程序的开发,其地图滚动的重绘有多种算法,由于手机性能的限制和开发周期等其他非技术条件,需要根据情况灵活选择所需的技术。但在及其苛刻条件下,如系统CPU资源不足,地图块尺寸较小等,会造成屏幕闪耀,帧数过低等情况,严重影响到游戏体验。在开发中如此类问题无法绕过以及避免(指通过...
阅读全文
摘要:一,原理介绍这回有点复杂,不过看懂了还是很好理解的。当然,我不敢保证这种算法在任何情况下都会起效果,如果有同学测试时,发现出现错误,请及时联系我。我们首先来建立一个以圆心为原点的坐标系:然后要检测碰撞就只有两种情况了。情况一,矩形全部都在一个象限内,如图:当然,图中只是举个例子,不一定是只在第二象限...
阅读全文
摘要:分别找到这2句代码:复制代码cc(self):addComponent("components.behavior.EventProtocol"):exportMethods()cc.GameObject.extend(self):addComponent("components.behavior.E...
阅读全文
摘要:首先,先来一段在lua创建一个类与对象的代码12345678910111213141516171819Class ={}Class.__index =Classfunction Class:new(x,y)local temp ={}setmetatable(temp, Class)temp.x =...
阅读全文
摘要:Lua 中的函数是一阶类型值(first-class value),定义函数就象创建普通类型值一样(只不过函数类型值的数据主要是一条条指令而已),所以在函数体中仍然可以定义函数。假设函数f2定义在函数f1中,那么就称f2为f1的内嵌(inner)函数,f1为f2的外包(enclosing)函数,外包...
阅读全文
摘要:当一个函数调用发生时,电脑必须 “记住” 调用函数的位置 — 返回位置,才可以在调用结束时带着返回值回到该位置,返回位置一般存在调用栈上。在尾调用的情况中,电脑不需要记住尾调用的位置而可以从被调用的函数直接带着返回值返回调用函数的返回位置(相当于直接连续返回两次),尾调用消除即是在不改变当前调用栈(...
阅读全文
摘要:PHP Notice:Undefined index: QUICK_V3_ROOT in405,469,497,520,551这5行代码都访问了一个环境变量$_ENV['QUICK_V3_ROOT'],这里我不知道为什么现在取不到了,(希望php大神能给解释一下),从网上找到用getenv('QUI...
阅读全文
摘要:问题:hostname in certificate didn't match: != Fetching URL: https://dl-ssl.google.com/android/...解决办法:第一步:打开Windows中C:\WINDOWS\system32\drivers\etc\hosts,Linux中/etc/hosts文件,然后添加以下内容:203.208.46.146 dl.google.com203.208.46.146 dl-ssl.google.com203.208.46.146 groups.google.com203.208.46.146 goo.gl203
阅读全文
摘要:直接使用工具来感受一下粒子系统的强大威力吧。网络上有很多粒子编辑器,大多数都是收费的。magicalsoft提供了一个免费的粒子编辑器(该工具目前只有mac版本),界面如下:我们将针对这个编辑器来讲解粒子系统。其他的和这个功能差不多。第一部分:为什么要有粒子系统?粒子系统在游戏中被大量的应用于游戏特效,能够极大的提高游戏的画面观感。使用帧动画也可以实现特效效果。但是缺点也很明显:1.画面效果弱2.细节不自然3.修改不方便以前,手机性能不强的时候,使用粒子系统是非常蛋疼的。现在手机硬件配置和软件支持(OpenGL)的大幅度强化,让强大的粒子系统有了展示的机会。第二部分:粒子系统生命周期粒子一旦诞
阅读全文
摘要:第9章 粒子效果游戏开发者通常使用粒子系统来制作视觉特效。粒子系统能够发射大量细小的粒子并对他们进行渲染,而且效率要远高于渲染同样数目的精灵。粒子系统可以模拟下雨、火焰、雪、爆炸、蒸气拖尾以及其他多种视觉效果。粒子系统由很多属性来驱动。这里的“很多”大概是30种左右,它们不仅影响单个粒子的外观和行为,而且也影响着整体的粒子效果。粒子效果是所有粒子一起工作所创造出的独有的视觉效果。单个粒子或是10个粒子是做不出火焰效果的,一般需要十几个甚至数百个粒子以正确的方式运行才能够制作出火焰效果。9.1 粒子效果实例cocos2d的源码中自带了很多内置的粒子效果,这些例子可以说明cocos2d能够创造出的
阅读全文
摘要:1.Command-Option-Shift-K to clean out the build folder XCode4.2 finder中找到 /Users/apple/Library/Developer/Xcode (注:Library资源库是隐藏的文件夹) 里面有DerivedData和Snapshots两个文件夹,删除里面文件即可 Removeallits contents because there's a bug where Xcode will run an old version of your project that's in there somewher
阅读全文
摘要:我们知道 ios 自带的字体 和 android 自带的字体不同为了使我们开发的游戏中的字体统一 我们就需要自己的字体(包括从mac 拷贝出来的 字体)从 mac 中 copy 出 Thonburi.ttf 文件 这个字体在我的 win8 下打不开 但是 android 可以识别 (这字体还分系统吗?求指教)CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Arial", 24);第二个 参数是设置字体的 如果不加 .ttf 后缀 默认使用 系统中自带的 字体 , 如果字体名有错误 则默认使用
阅读全文
摘要:cocos2dx-2.1.3 2dx自己代的例子进行讲解360 cocos2dx net -->2.1.3AssetsManagerAppDelegate.cpp详解1.创建目录createDownloadedDir();2.三个按钮(1)enterif(!isUpdateItemClicked) { vector searchPaths =CCFileUtils::sharedFileUtils()->getSearchPaths();得到资源路径 searchPaths.insert(searchPaths.begin(),pathToSave);设置优先在 1 新创建的那个.
阅读全文