- 博客(39)
- 资源 (13)
- 收藏
- 关注

原创 用cocos2d-x 实现UV动画--实现篇
用cocos2d-x 实现UV动画--实现篇UVSpriteuv动画是指通过在程序运行时动态改变纹理坐标,实现动态效果的纹理动画,使用uv动画可以实现水流动,火焰燃烧等效果。本文由liangneo原创,转载请保留原文地址 :1.分析我们需要的是一个具uv动画的sprite,最简单合理的方式是让你UVSprite直接继承于CCSprite,另外我们还需要两个变量来
2015-01-10 18:19:06
10840

原创 用cocos2d-x 实现UV动画--基础篇
用cocos2d-x 实现UV动画--基础篇uv坐标与渲染uv动画是指通过在程序运行时动态改变纹理坐标,实现动态效果的纹理动画,使用uv动画可以实现水流动,火焰燃烧等效果。本文由liangneo原创,转载请保留原文地址 :1.什么是UV坐标uv坐标是指纹理映射到绘制体(一般为三角形的顶点)上的坐标,纹理贴图文件(png,jpg图片)在计算机中的一般都抽象为一个二
2015-01-10 15:34:51
7273

原创 根据CocosBuilder文件自动生成代码
本文主要讲述怎样根据Cocosbuilder生成的ccb文件自动生成相应的代码,主要以生成cocos2dx对应的C++文件为例子来说明。转载请保留原文地址:http://blog.youkuaiyun.com/liangneo/article/details/8851870cocosbuilder是一个非常好用的开源工具,可以用来编辑ui布局,粒子系统,简单的帧动画等。在编辑器中可以设置UI回调函数名,绑
2013-04-26 01:14:31
5052
1

原创 Particle Engine介绍
Particle Engine介绍 本文介绍我自己开发的一个游戏编辑器,Particle Engine的主要功能和基本操作;介绍分为三个部分,第一部分介绍开发PE的原因和PE的主要功能;第二部分介绍PE的界面组成;最后一个部分通过PE创建一个简单的Hello World一什么是PE PE是ParticleEngine的英文缩写,也就是粒子引擎的意思,这个编
2012-12-28 03:16:20
3809

原创 LUA脚本组件系统(四)
LUA脚本组件系统----让LUA成为C++的子集 三脚本组件系统相关理论介绍3.1基于组件的对象系统 在经典面向对象方法论描述中,我们知道对象由属性和方法组成.基本对象类可以通过派生子类来扩展其功能.这样做的问题之一是对类型不同的对象必须定义不同的类或者定义一个包括不同类型对象属性和方法的大类来描述这不同的对象.结果是要么生成无
2012-12-16 23:04:46
3970

原创 LUA脚本组件系统(三)
LUA脚本组件系统----让LUA成为C++的子集2.1 C++与面向对象杂谈 上一节,我大概罗列出一些静态语言的缺陷及动态语言的优点,但这些观点仅仅只是一些教条式的陈述,并没有给出一些具有逻辑的推理和证明.至少我认为还有三点没有讲清楚:首先是c++静态语言的缺陷及这些缺陷是怎样影响游戏开发的;其次脚本语言是如何解决C++的缺陷的;最后,为什么要使用lu
2012-12-16 15:56:13
3096

原创 LUA脚本组件系统(二)
LUA脚本组件系统----让LUA成为C++的子集二脚本组件系统产生的背景、动机与意图 毫无疑问,现代游戏开发无论是规模较小的休闲手机游戏,家用机平台游戏还是大型多人在线网络游戏都涉及到数十人的团队合作,有的大型MMOG甚至涉及到数百人的合作,耗时数年开发才能完成。相对于游戏玩家来说,他们希望在游戏中看到真实华丽的场景,听到动态逼真的音效,体验到行为
2012-12-12 00:40:37
3738

原创 LUA脚本组件系统(一)
LUA脚本组件系统----让LUA成为C++的子集零 简介 我们知道C++是一门静态编译执行的语言,其运行效率较高,并且从语法上支持面向对象,但和所有静态语言一样,当类定义好后在运行时就无法改变了,除此之外,c++的语法较复杂,学习代价比较高。脚本语言LUA是一门动态语言,虽然在普遍情况下运行效率没有c++高,但其运行时可以动态的调整代码,给流程控制提供了很大的灵活性。拥有自动内存
2012-12-09 15:41:02
4947

原创 cocos2d框架介绍
cocos2d引擎2.0 cocos2d简介Cocos2d最初的版本是用python写的,之后被改成objectiveC,应用于iphone上,之后国内某人又根据该设计理念,将其改为C++版本cocos2dX,该版本可以在iphone,widnows,andriod三个平
2011-09-13 10:54:29
25812
1
原创 在cocos2d-x中动态绘制二维码
代码地址:https://github.com/neoliang/cocos2d-qrsprite说明:在cocos2d-x动态绘制一个字符串的二维码实例:CCScene* scene = CCScene::create();QRSprite* qr = QRSprite::create("hello world");scene->addChild(qr);
2015-12-16 22:31:04
6744
原创 在cocos2d-x中嵌入网页
实现了一个轻量级的库,只需要2行代码就可以将见面嵌入到游戏中代码实例:CCScene* scene = CCScene::create();WebView* view = WebView::create();view->setUrl("http://www.google.com");scene->addChild(view);代码地址https://github.com/
2015-08-15 21:14:14
5420
原创 转化Csv,excel到语言相关的文件
代码地址:https://github.com/neoliang/const-dataconst-dataconst-data is a free, open source tool, the target of this tool are:1.convert csv or excel to simple language specified data fo
2015-08-09 19:30:47
2262
原创 cocos2dx的坑 ---- autorelease不release
CCNode 创建后调用autorelease,就算之后你再也不需要这个节点, 该节点也有可能不会自动释放,这个问题用mem leak是查看不到的触发情况:1.创建了一个CCNode或者CCNode的子类,虽然用了autorelease,但是未添加到任何父节点上原因1.CCNode的子类在创建时可能调用了Schedule或者已经PlayAction了,此时引用计数已经增加
2015-03-08 23:05:41
3977
原创 将json转化为lua中的表
在游戏开发中,经常使用json作为配置文件,lua作为脚本,虽然在lua中读取json不算太麻烦,但是如果预先将json转换为lua中的表,不但在脚本中操作方便,也省去了在游戏中加载json的时间,因此写了一个python 脚本将json配置文件直接转化为lua中的table,代码如下:import jsonimport typesdef space_str(layer):
2015-01-06 17:05:52
26049
1
原创 用MoonScript实现算术表达式解析
--chekck token is numberisnumber = (exp) -> tonumber(exp) ~= nilisspace = (c) -> c == ' ' or c == '\t'len = (exp) -> string.len(exp)--trim spacetrim = (exp ,pos) -> while pos <= len(exp) and
2014-10-18 01:13:33
2214
原创 基于cocos2dx引用计数的事件机制
设计目的:为了减少类之间的耦合特性:0.使用ccobject的引用计数,在调用时不用担心内存释放问题1.不用继承任何额外的接口或类,只要是cocos2dx内置类的子类都可以使用该机制使用约束:0.在注册时会将对象的引用计数加一,反注册时引用计数减一。1.虽然任意ccobject的子类都可以使用,但是为了自动内存管理,最好在ccnode的子类中使用1.1 在onE
2013-05-01 13:40:34
2772
原创 将游戏中的行为封装为自我管理的对象(1)
将游戏中的行为封装为自我管理的对象什么是自我管理的对象 顾名思义,自我管理的对象应该有自我管理能力,一旦创建后,创建者不需要关心其运行,也不用负责销毁.自我管理的对象会在自我的生命周期内完成特定的任务,然后自我析构.自我管理对象的特点自我管理的对象有以下特点:a. 有固定的生命周期,生命周期结束后,自我销毁b. 对象的使用者只需要负责创建,不用负责销毁.c. 在创建时,传入小对象执行所需的上下文(context)d. 在生命周期内,小对
2011-03-28 19:54:00
3151
原创 关于C++私有承继的一个问题
<br />class Base{};class Exe{public:void Add(Base* p){}};class DD :private Base{public: DD(Exe* pinv) {pinv->Add(this);}};int main(){ Exe* pInv = new Exe; DD dd(pInv); //Base* pB = new DD(pInv); return 0;} <br /> <br />各位,请
2011-03-28 19:14:00
2300
原创 游戏中的脚本语言介绍1
1.什么是脚本语言首先,脚本语言和其它程序设计语言一样,拥有自己的语法规范,循环流程控件。其次,脚本语言是一种嵌入型的语言,一般不单独执行,需要嵌入到宿主语言中(例如lua嵌入到c++中)执行。脚本语言都有一个通用的特点,作为一种ascii码文本在虚拟机上动态解释执行。一般来讲脚本语言都有自动内在管理和垃圾回收功能。脚本语言除了具有动态解释执行和自动内存管理之外,还有简单,易学易用的特点。脚本语言一般都是一种胶水性的语言,能够快速的整合宿主语言的组件和模块,因此脚本语言比较适合做批处理和控制的工作。2.为什
2010-11-21 13:20:00
3627
翻译 用依赖注射模式实现快速安全的游戏对象原型
用依赖注射模式实现快速安全的游戏对象原型Erick B. PassosMedia Lab - UFFJonhnny Weslley S. SousaLCD - UFCGGiancarlo NascimentoMedia Lab - UFFEsteban Walter Gonzales CluaMedia Lab - UFFLauro KozovitsUERJ[摘要]:大多数游戏引擎是基于游戏对象的继承和/或组件化的行为。虽然这种方法使得系统框架有一个清晰视图,良好的代码重用,快速原型化,它带来了一些问题,主
2010-06-12 20:42:00
3065
原创 html5写的超炫3D演示
期待html5让互联网生活变得更美好 演示地址:http://www.benjoffe.com/code/games/torus/
2010-06-05 23:31:00
4373
原创 Fluent Interface(流接口)
在软件工程中,一个流接口(fluent Interface)是指实现一种实现面向对象的能提高代码可读性的API的方法。一个FI通常用函数链来实现以完成一系列连续的操作内容调用比如STL的输出“1.通过调用函数的返回值来定义2.自身引用,新的内容和旧的一致(在C++中,被连续调用成员函数返回一个自身引用,即返回*this)3.通过无效内容返回来终止调用一个使用了FI的C++示例代
2010-05-24 17:29:00
11714
转载 一个基于组件的动态对象系统
文 封烨 一、静态的痛苦 作为一个项目经验丰富的程序员,你经常会遇到<span class="t_tag" onclick="function onclick(){tagshow(event)}">游戏<span class="t_tag" onclick="function onclick(){tagshow(event)}">开发过程
2010-02-23 12:36:00
2244
原创 游戏中的对象缓存池
在游戏编程时,每个关卡都要创建大量的对象,例如NPC,树,草,地形等,而有些对象需要有游戏中实时创建,比如爆炸效果,子弹。给游戏对象分配内存本来就是比较耗费时间的,如果采用传统的new 和delete的话,可能会使得游戏的实时性降低。因此可以采用对象池的方法。即先根据关卡估计会用到对象数量,在关卡开始时先分配好需要的对象数量缓存起来,以后直接使用这些缓存的对象就OK了,当游戏关卡结束时,清除
2009-12-24 22:46:00
4332
2
原创 背包问题之分枝界限
问题描述 背包的容量为C,现有N件物品,价格分别为p[0],p[1]......p[n-1].重量分别为:w[0],w[1]......w[n-1].从N件物品中选择任意个放入背包中,使得物体的价值最大并且总重量不超过背包的容量C。 采用数学语言描述如下: 在 w[0]*x[0] + w[1] *x[1]+....... +w[n-1]*x[n-1]
2009-08-19 18:22:00
3151
原创 背包问题之回溯法
问题描述:背包的容量为C,现有N件物品,价格分别为p[0],p[1]......p[n-1].重量分别为:w[0],w[1]......w[n-1].从N件物品中选择任意个放入背包中,使得物体的价值最大并且总重量不超过背包的容量C。 采用数学语言描述如下: 在 w[0]*x[0] + w[1] *x[1]+....... +w[n-1]*x[n-1] 的条件下
2009-08-17 17:56:00
15172
3
原创 背包问题之穷举法
最近复习了一下算法,觉得背包问题最具代表性。可以用大多数通用的算法(穷举,动规,回溯,分枝限界)来解决。因此将最近的笔记整理一下,发到自己的博客上。 问题描述:背包的容量为C,现有N件物品,价格分别为p[0],p[1]......p[n-1].重量分别为:w[0],w[1]......w[n-1].从N件物品中选择任意个放入背包中,使得物体的价值最大
2009-08-16 16:57:00
8246
转载 深入理解D3D9
by Effulgent原帖地址:http://www.cnblogs.com/effulgent/archive/2009/02/10/1387438.html 深入理解D3D9对图形程序员来说意义重大,我把以前的一些学习笔记都汇总起来,希望对朋友们有些所帮助,因为是零散笔记,思路很杂,还请包涵。其实只要你能完美理解D3DLOCK、D3DUSAGE、D3DPOOL、LOST DEV
2009-03-02 23:44:00
941
原创 Directx9.0 a shader approach 学习笔记1---初始化D3D
1: 获取IDirect3D9接口,主要用来查找物理硬件设备信息,和创建IDirect3DDevice9接口.代码如下: IDirect3D9* pD3D = Direct3DCreate9(D3D_SDK_VERSION); 2: 验证硬件支持的显示模式,在 a shader approach 一书中,在窗口下使用当前显示模式作为显示格式和后台缓存格式,在全屏模式下使用
2009-02-24 22:47:00
2231
原创 计算机图形学术语(个人收集整理)
光栅化: 把景物模型数学描述集色彩信息转换至计算机屏幕上的像素,这个过程称为光栅化 3D三维(three dimension)。客观世界中静止的物体都是三维的,在计算机图形学中常在一定的坐标系中用(x,y,z)坐标系列表示物体。3D modeling3D建模。用三维坐标来描述物体的形状。在各种计算机图形应用领域中有不同的三维建模方法,用不同的算法来描述这些领域中的物体和对象。3D tra
2009-02-23 21:20:00
4420
1
转载 游戏术语
#3D Accelerator:3D加速器。一种专门提升PC的3D运算功能硬件,但其不能提升计算机整体的显示效果。AACT(Action Game):动作类游戏。这类游戏提供玩者一个训练手眼协调及反应力的环境及功能,通常要求玩者所控制的主角(人或物)根据周遭情况变化做出一定的动作,如移动、跳跃、攻击、躲避、防守等,来达到游戏所要求的目标。此类游戏讲究逼真的形体动作、火爆的打斗效果、良好的*作手感及
2009-02-22 18:47:00
1164
转载 概念级新技术应用将刷新游戏体验
于科学界来说,并不算是一个什么大不了的事情,而如果一段时间内,有一系列电子技术特别是可以应用于电脑的新技术、新材料问世,则产生的效果明显不同,而对于游戏产业来说,一些看似和游戏无关的技术和材料的出现,其实有可能在某种程度上,帮助游戏实现不可能的梦想。且让我们来看看科学家今年推出的几项概念级的新技术、新材料,尽管还是概念级,但在未来却可能给我们的游戏世界带来非同一般影响。 双面显示器:让游戏成为
2009-02-22 18:42:00
1895
转载 怎样利用directX SDK
首先打开帮助文档,一般建议在MSDN内打开而不是单独打开chm。 你会看到有以下组成部分: DirectX Software Development Kit DirectX Graphics DirectX Input DirectX Audio DirectX SDK Technical Articles Glossary 分别来看看这些: Direct
2009-02-09 10:54:00
1400
原创 游戏引擎中的相机系统
下面应用《微分几何》中的欧氏空间等距变换,导出从世界坐标系到观察坐标系的变换,并结合directx9.0和C++来实现一个简单的相机类。 1。假设世界坐标系用I=(i,j,k)和O(0,0,0)来表示,观察坐标系用E=(e1,e2,e3)和P(a,b,c)来表示,其中,E=A*I(这里E和I表示为列向量)。A为正交矩阵,由A1=(a11,a12,a13),A2=(
2008-12-21 12:13:00
1273
原创 云彩的渲染(转)
原文:Realistic and Fast Cloud RenderingNinianeWangMicrosoftCorporation(nowatGoogleInc.)niniane@ofb.netNovember11,2003 最近在网上看到很多云渲染的效果图,但很多人吝于向人分享经验知识,我不是很赞同这种想法,本来就是属于别人的知识,自己有幸学习得到就应该拿出来分享。废话不多说
2008-12-20 14:48:00
2546
原创 游戏中用到的地形生成与分割
学习3D游戏编程有一段时间了,但一只以来都很少发过文章,一是觉得自己的水平太菜,二是很多想法都不是来源于自己.最近在写一个简单的游戏引擎,想把它拿出来和大家一起分享。希望高手给予指导。下面将我在游戏引擎中用到的地形生成与分割算法发表出来。与大家一起分享。 在一开始时,游戏引擎中采用了《direct9.0x3D游戏编程基础》中的地形生成算法来实现,该算法没有采用地形分割,显示64X6
2008-12-20 13:54:00
1833
原创 应用分枝限界解决工作分配问题
1.题目描述:设有n件工作分配给n个人。将工作j分配给第i个人所需的费用为Cij。设计一个算法,使每个人都有一件不同的工作,并使总费用最少。数据输入:第一行有一个正整数n,接下来是N行,每行N个数,表示工作费用。结果输出:将计算最小费用输出。 2.问题分析: 常规思想:使用穷举法搜索,算法时间复杂度为N!,但此法采用分枝限界 来求解该问
2008-12-09 12:02:00
3466
cocos2d-x uv动画源代码
2015-01-10
cocosbuilder代码生成招行文件
2013-04-26
bullet和DirectX给合的一个demo
2009-12-14
Introduction to 3D Game Programming with DirectX 9.0c—A Shader Approach 源代码
2009-03-13
Introduction to 3D Game Programming with DirectX90c A Shader Approach(pdf版)
2009-02-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人