自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用cocos2d-x 实现UV动画--实现篇

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

2015-01-10 18:19:06 10670 1

原创 用cocos2d-x 实现UV动画--基础篇

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

2015-01-10 15:34:51 7162

原创 根据CocosBuilder文件自动生成代码

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

2013-04-26 01:14:31 4934 5

原创 Particle Engine介绍

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

2012-12-28 03:16:20 3559

原创 LUA脚本组件系统(四)

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

2012-12-16 23:04:46 3901 4

原创 LUA脚本组件系统(三)

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

2012-12-16 15:56:13 3042

原创 LUA脚本组件系统(二)

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

2012-12-12 00:40:37 3670

原创 LUA脚本组件系统(一)

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

2012-12-09 15:41:02 4890

原创 cocos2d框架介绍

cocos2d引擎2.0 cocos2d简介Cocos2d最初的版本是用python写的,之后被改成objectiveC,应用于iphone上,之后国内某人又根据该设计理念,将其改为C++版本cocos2dX,该版本可以在iphone,widnows,andriod三个平

2011-09-13 10:54:29 25572 3

原创 在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 6612

原创 在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 5307

原创 转化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 2191

原创 cocos2dx的坑 ---- autorelease不release

CCNode 创建后调用autorelease,就算之后你再也不需要这个节点, 该节点也有可能不会自动释放,这个问题用mem leak是查看不到的触发情况:1.创建了一个CCNode或者CCNode的子类,虽然用了autorelease,但是未添加到任何父节点上原因1.CCNode的子类在创建时可能调用了Schedule或者已经PlayAction了,此时引用计数已经增加

2015-03-08 23:05:41 3918

原创 将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 25414 2

原创 用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 2170

原创 基于cocos2dx引用计数的事件机制

设计目的:为了减少类之间的耦合特性:0.使用ccobject的引用计数,在调用时不用担心内存释放问题1.不用继承任何额外的接口或类,只要是cocos2dx内置类的子类都可以使用该机制使用约束:0.在注册时会将对象的引用计数加一,反注册时引用计数减一。1.虽然任意ccobject的子类都可以使用,但是为了自动内存管理,最好在ccnode的子类中使用1.1 在onE

2013-05-01 13:40:34 2737

原创 将游戏中的行为封装为自我管理的对象(1)

将游戏中的行为封装为自我管理的对象什么是自我管理的对象         顾名思义,自我管理的对象应该有自我管理能力,一旦创建后,创建者不需要关心其运行,也不用负责销毁.自我管理的对象会在自我的生命周期内完成特定的任务,然后自我析构.自我管理对象的特点自我管理的对象有以下特点:a.      有固定的生命周期,生命周期结束后,自我销毁b.      对象的使用者只需要负责创建,不用负责销毁.c.      在创建时,传入小对象执行所需的上下文(context)d.      在生命周期内,小对

2011-03-28 19:54:00 3105

原创 关于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 2272 1

原创 游戏中的脚本语言介绍1

1.什么是脚本语言首先,脚本语言和其它程序设计语言一样,拥有自己的语法规范,循环流程控件。其次,脚本语言是一种嵌入型的语言,一般不单独执行,需要嵌入到宿主语言中(例如lua嵌入到c++中)执行。脚本语言都有一个通用的特点,作为一种ascii码文本在虚拟机上动态解释执行。一般来讲脚本语言都有自动内在管理和垃圾回收功能。脚本语言除了具有动态解释执行和自动内存管理之外,还有简单,易学易用的特点。脚本语言一般都是一种胶水性的语言,能够快速的整合宿主语言的组件和模块,因此脚本语言比较适合做批处理和控制的工作。2.为什

2010-11-21 13:20:00 3558

原创 游戏程序员图书推荐

游戏程序员图书推荐

2010-06-13 16:43:00 4123 3

翻译 用依赖注射模式实现快速安全的游戏对象原型

用依赖注射模式实现快速安全的游戏对象原型Erick B. PassosMedia Lab - UFFJonhnny Weslley S. SousaLCD - UFCGGiancarlo NascimentoMedia Lab - UFFEsteban Walter Gonzales CluaMedia Lab - UFFLauro KozovitsUERJ[摘要]:大多数游戏引擎是基于游戏对象的继承和/或组件化的行为。虽然这种方法使得系统框架有一个清晰视图,良好的代码重用,快速原型化,它带来了一些问题,主

2010-06-12 20:42:00 3000 1

原创 html5写的超炫3D演示

期待html5让互联网生活变得更美好 演示地址:http://www.benjoffe.com/code/games/torus/

2010-06-05 23:31:00 4333

原创 Fluent Interface(流接口)

在软件工程中,一个流接口(fluent Interface)是指实现一种实现面向对象的能提高代码可读性的API的方法。一个FI通常用函数链来实现以完成一系列连续的操作内容调用比如STL的输出“1.通过调用函数的返回值来定义2.自身引用,新的内容和旧的一致(在C++中,被连续调用成员函数返回一个自身引用,即返回*this)3.通过无效内容返回来终止调用一个使用了FI的C++示例代

2010-05-24 17:29:00 11336

转载 一个基于组件的动态对象系统

文 封烨 一、静态的痛苦     作为一个项目经验丰富的程序员,你经常会遇到<span class="t_tag" onclick="function onclick(){tagshow(event)}">游戏<span class="t_tag" onclick="function onclick(){tagshow(event)}">开发过程

2010-02-23 12:36:00 2193 1

原创 游戏中的对象缓存池

   在游戏编程时,每个关卡都要创建大量的对象,例如NPC,树,草,地形等,而有些对象需要有游戏中实时创建,比如爆炸效果,子弹。给游戏对象分配内存本来就是比较耗费时间的,如果采用传统的new 和delete的话,可能会使得游戏的实时性降低。因此可以采用对象池的方法。即先根据关卡估计会用到对象数量,在关卡开始时先分配好需要的对象数量缓存起来,以后直接使用这些缓存的对象就OK了,当游戏关卡结束时,清除

2009-12-24 22:46:00 4269 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 3103

原创 背包问题之回溯法

问题描述:背包的容量为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 15031 3

原创 背包问题之穷举法

    最近复习了一下算法,觉得背包问题最具代表性。可以用大多数通用的算法(穷举,动规,回溯,分枝限界)来解决。因此将最近的笔记整理一下,发到自己的博客上。                 问题描述:背包的容量为C,现有N件物品,价格分别为p[0],p[1]......p[n-1].重量分别为:w[0],w[1]......w[n-1].从N件物品中选择任意个放入背包中,使得物体的价值最大

2009-08-16 16:57:00 8090 3

转载 深入理解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 907

原创 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 2186

原创 计算机图形学术语(个人收集整理)

 光栅化: 把景物模型数学描述集色彩信息转换至计算机屏幕上的像素,这个过程称为光栅化 3D三维(three dimension)。客观世界中静止的物体都是三维的,在计算机图形学中常在一定的坐标系中用(x,y,z)坐标系列表示物体。3D modeling3D建模。用三维坐标来描述物体的形状。在各种计算机图形应用领域中有不同的三维建模方法,用不同的算法来描述这些领域中的物体和对象。3D tra

2009-02-23 21:20:00 4196 1

转载 游戏术语

#3D Accelerator:3D加速器。一种专门提升PC的3D运算功能硬件,但其不能提升计算机整体的显示效果。AACT(Action Game):动作类游戏。这类游戏提供玩者一个训练手眼协调及反应力的环境及功能,通常要求玩者所控制的主角(人或物)根据周遭情况变化做出一定的动作,如移动、跳跃、攻击、躲避、防守等,来达到游戏所要求的目标。此类游戏讲究逼真的形体动作、火爆的打斗效果、良好的*作手感及

2009-02-22 18:47:00 1075

转载 概念级新技术应用将刷新游戏体验

于科学界来说,并不算是一个什么大不了的事情,而如果一段时间内,有一系列电子技术特别是可以应用于电脑的新技术、新材料问世,则产生的效果明显不同,而对于游戏产业来说,一些看似和游戏无关的技术和材料的出现,其实有可能在某种程度上,帮助游戏实现不可能的梦想。且让我们来看看科学家今年推出的几项概念级的新技术、新材料,尽管还是概念级,但在未来却可能给我们的游戏世界带来非同一般影响。   双面显示器:让游戏成为

2009-02-22 18:42:00 1816

原创 勇敢面对人生,真诚对待自己

    生活就是发生在身边的每一件事,真诚对待自己!

2009-02-12 09:44:00 806

转载 怎样利用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 1310

原创 游戏引擎中的相机系统

        下面应用《微分几何》中的欧氏空间等距变换,导出从世界坐标系到观察坐标系的变换,并结合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 1206

原创 云彩的渲染(转)

原文:Realistic and Fast Cloud RenderingNinianeWangMicrosoftCorporation(nowatGoogleInc.)[email protected],2003    最近在网上看到很多云渲染的效果图,但很多人吝于向人分享经验知识,我不是很赞同这种想法,本来就是属于别人的知识,自己有幸学习得到就应该拿出来分享。废话不多说

2008-12-20 14:48:00 2510

原创 游戏中用到的地形生成与分割

 学习3D游戏编程有一段时间了,但一只以来都很少发过文章,一是觉得自己的水平太菜,二是很多想法都不是来源于自己.最近在写一个简单的游戏引擎,想把它拿出来和大家一起分享。希望高手给予指导。下面将我在游戏引擎中用到的地形生成与分割算法发表出来。与大家一起分享。    在一开始时,游戏引擎中采用了《direct9.0x3D游戏编程基础》中的地形生成算法来实现,该算法没有采用地形分割,显示64X6

2008-12-20 13:54:00 1774

原创 应用分枝限界解决工作分配问题

1.题目描述:设有n件工作分配给n个人。将工作j分配给第i个人所需的费用为Cij。设计一个算法,使每个人都有一件不同的工作,并使总费用最少。数据输入:第一行有一个正整数n,接下来是N行,每行N个数,表示工作费用。结果输出:将计算最小费用输出。       2.问题分析:      常规思想:使用穷举法搜索,算法时间复杂度为N!,但此法采用分枝限界           来求解该问

2008-12-09 12:02:00 3345 1

cocos2d-x uv动画源代码

http://blog.csdn.net/liangneo/article/details/42582947 uv动画是指通过在程序运行时动态改变纹理坐标,实现动态效果的纹理动画,使用uv动画可以实现水流动,火焰燃烧等效果。

2015-01-10

cocosbuilder代码生成招行文件

根据cocosbuilder文件ccb自动生成相关的cpp文件 运行方法 解压后到ccb对应的目录,然后双击运行 生成的代码在cppCode文件下。

2013-04-26

cocosbuilder代码自动生成

根据cocosbuilder的ccb文件,自动生成cpp代码

2013-04-26

Learn iPhone and iPad cocos2d Game Development

本书关注的是创建完整cocos2d游戏的过程而不是展示大量的iPhone SDK 或OpenGL代码。在学习本书的过程中,通过创建4个示例游戏,你将了解cocos2d游戏引擎的核心概念、Objective-C编程语言以及一些相关的工具,如Zwoptex(用于处理材质图册)、Particle Desiger(用于实现粒子效果)、Tiled(用于编辑瓦片地图),等等 英文版

2012-05-22

游戏编程精粹4源代码3

游戏编程精粹4源代码,分三卷压缩最后一个部分

2009-12-22

游戏编程精粹4源代码2

游戏编程精粹4源代码,在网上找了很久没找到,自己买了盘上传享,分三卷压缩之第二卷

2009-12-22

游戏编程精粹4源代码1

游戏编程精粹4源代码,分三卷压缩,第一卷

2009-12-22

bullet和DirectX给合的一个demo

一个结合BULLET与directx9.0 dxut写的一个demo,模拟了汽车及一些静态地形有例子。 注如果bullet的版本为最新的话,有一条语句不能编译通过。 只要将全局的函数cross改成成员函数就可以编译通过!!

2009-12-14

(漫步者)HLSL编写的类CS游戏

这是一个采用hlsl写的一个演示程序,其中包括了地形,天空,水面.地形采用了四叉树分分割.

2009-04-03

Introduction to 3D Game Programming with DirectX 9.0c—A Shader Approach 源代码

3D Game Programming with DirectX 9.0c—A Shader Approach 源代码 第4--8章

2009-03-13

基于directX9.0的迷宫源码

一款自己写的基于directx9.0c的迷宫源码.使用了alpha混合,纹理混合等.

2009-02-24

Introduction to 3D Game Programming with DirectX90c A Shader Approach(pdf版)

pdf版Introduction to 3D Game Programming with DirectX90c A Shader Approach.学习渲染入门最好的教材.经典书籍

2009-02-20

基于Opengl的中国象棋

这是我自己写的一款基于opengl的中国象棋,开发平台是 vc++6.0 曾获得十二界微软学项目实践优胜奖.压缩包中包含了策划书和算法描述.

2008-10-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除