缘起 缘起是要实现一个需求,即寻找一个能制作如下图所示腿部弯曲动画的工具。 由于要求不能使用序列帧动画,因为一旦弯曲效果不理想需要全部重画,美术的工作量会很大,而且序列帧动画的图量也会很大。 一番寻找后,发现骨骼动画工具Spine可以完美的满足需求,并且其支持众多游戏引擎,包括我们正在使用的C...
概述 先来看一段视频。这个视频很短。4分钟。是我的一个技术demo演示视频。 http://www.tudou.com/programs/vi ... sourceId=0_07_10_28 2014.08.13-2014.09.15 这一个月左右的时间里,我独自一人在家做了上面视频中技术...
上两篇我们详细讲解了内存自动释放,接下来这篇写写自动对象的释放时机。一个对象调用autorelease()函数后就被加入自动释放池,那么它什么时候被释放呢? 我从前面说过的游戏主循环开始跟进: int CCApplication::run(){ if (applicationDidFinis...
这个系列以本人游戏开发的实例来详细讲解Cocos2d-x,本篇阐述内存的自动释放池。因为在上一篇我们学习了引用计数和自动释放的大概流程,其中略过了自动释放池,这里简单述说。 前面提到CCObject的autorelease函数 CCObject* CCObject::autorelease(voi...
这个系列以本人游戏开发的实例来详细讲解Cocos2d-x,本篇阐述内存的自动释放。 其实内存自动回收不是什么新鲜的概念,Java的垃圾回收,Objective-C的自动回收等都是类似的概念。 cocos2d-x是C++的实现,那么其内存管理也是遵循C++的 规则,谁创建的谁来维...
以自己的实际演练,详细解说Cocos2d-x引擎的个模块,今天介绍游戏主循环。 终于抽时间把这个游戏写完了。由于没有自拍神器,所以把它移植到了Android上,用我的戴妃跑的很欢啊。自此,我算是完成了一个功能比较完善的游戏了。 麻雀虽小,五脏俱全,该有的都有,不该有的估计也有,嘿嘿。这几天把写这...
通过自己的实际演练,详细解说Cocos2d-x引擎的个模块。今天讲解无限滚动地图。一般打飞机类游戏都是飞机不动,背景图滚动,造成飞机在天空飞的效果。MoonWarriors的背景有两层,一个远景天空,一个近景漂浮物,这两层背景滚动速度不一样,形成一种纵深感。 如图: 图有点模糊,实际效果跟html...
本系列通过自己的实际演练,详细解说Cocos2d-x引擎的个模块。上一篇文章已经实现了MoonWarriors开始菜单的大部分元素,还差一个运动的飞船和一个点击newGame的特效和音效。 1.飞船 // ships CCTexture2D *textCache = CCTextureCac...
本系列通过自己的实际演练,详细解说Cocos2d-x引擎的个模块。 打开html5的工程,我用的是WebStorm。然后看到MoonWarriors的源码,如下: 源码都在src目录下,config目录下是一下配置信息,比如游戏状态,分数,命条数等。接下来就是游戏js代码了。看名字就大致知...
这个世界里,我们常常看到有两种胜利:一举成功和绝地反击。作为围观的酱油众,到底还是喜欢后者,因为够刺激、倍儿爽! 近日,莉莉丝以一个小彩蛋取得uCool起诉案的关键性证据(后者为山寨版《Heroes Charge》开发商),不费吹灰之力即杀得对手丢盔卸甲,这事情一时成为手游界的热议话题。...
本文基于Cocos2d-x 3.2版本,其他版本API可能会有所变化,主要讲对UI树的理解。Cocos2d-x 3.x 引擎的UI树系统首先得普及一下Cocos2d-x的基础概念,Cocos2d-x的游戏世界一般是由一个又一个的场景(Sence)组成的,比如登录是一个场景,战斗是一个场景;然后场景之...
在基础学习教程中,内存管理机制之前我们有过介绍。本文再次详细解说内存管理问题。首先介绍 Cocos2d-x 3.2 中内存管理的作用,以及各个作用的应用。借由通俗易懂的解释来了解内存管理的过程。其次通过源码解析介绍其内部的实现原理。加深理解,从而在有需要的时候绕开引擎建立自己的内存管理机制。一、Co...
这个系列主要学习Cocos2d-x Lua,总结Lua开发过程中所涉及的知识点,以及在开发过程中如何使用Cocos Code IDE。本文介绍Lua中比较有意思的内容——_index元方法以及与_index有点相似的_newindex元方法。一、强大的_index元方法我们来想象一下,如果对一个ta...
这个系列我们主要学习Cocos2d-x Lua,总结Lua开发过程中所涉及的知识点,以及在开发过程中如何使用Cocos Code IDE。今天来聊两个话题--全局变量和非全局环境。正如大家目前心里所感受到的,全局变量的内容很简单,而非全局环境的内容就稍微要锻炼一下脑细胞了。1. 全局变量的原形在Lu...
这个系列我们主要学习Cocos2d-x Lua,总结Lua开发过程中所涉及的知识点,以及在开发过程中如何使用Cocos Code IDE。本文主要讲解如何编写Lua的模块与module函数的使用。1.编写一个简单的模块Lua的模块是什么东西呢?通常我们可以理解为是一个table,这个table里有一...
这个系列我们主要学习Cocos2d-x Lua,总结Lua开发过程中所涉及的知识点,以及在开发过程中如何使用Cocos Code IDE。这一篇讲解初学Lua最容易换乱的两种函数调用方式:调用函数时用点号还是用冒号。本文是面向对象预热篇,讲解函数两种调用方式的区别,初学者比较容易被坑。1.初学者最易...
这个系列我们主要学习Cocos2d-x Lua,总结Lua开发过程中所涉及的知识点,以及在开发过程中如何使用Cocos Code IDE。这一篇介绍Lua中的面向对象编程,主要讲解类和继承。写在前面: 终于来了,在Lua中的面向对象编程,相信目前学习Lua的大部分人都是为了开发手机网游吧...
这个系列我们主要学习Cocos2d-x Lua,总结Lua开发过程中所涉及的知识点,以及在开发过程中如何使用Cocos Code IDE。这一篇讲解Lua面向对象编程中的多重继承和私密性。包括如何在多个类中查找一个字段、创建继承多个类的子类,以及类的私密性。1. 多重继承之在多个类中查找一个字段其实...
这个系列我们主要学习Cocos2d-x Lua,总结Lua开发过程中所涉及的知识点,以及在开发过程中如何使用Cocos Code IDE。这一篇讲解实现类的原理。 我们知道,Lua中没有类的概念,但我们可以利用Lua本身的语言特性来实现类。下文将详细的解释在Lua中实现类的原理,涉及到的...
这个系列我们主要学习Cocos2d-x Lua,总结Lua开发过程中所涉及的知识点,以及在开发过程中如何使用Cocos Code IDE。这一篇讲解引用table的问题。1.自动内存管理的缺陷我们都知道,Lua是具备自动内存管理的,好吧,也许有些朋友不知道。我们只管创建对象,无须删除对象(当然,对于...