- 博客(17)
- 资源 (10)
- 收藏
- 关注
原创 读Lua游戏开发实践指南
11月11日开读,到今天正好一个月。 起因是被裁员之后,发现很多公司都在使用lua编写cocos2d-x游戏,原因是上手快,技术人员比较便宜。 如果引擎封装比较好,几乎在lua里写写基本逻辑就行了,不需要懂cocos2d-x。其实lua也不需要懂太多。只要会if ,for等基本语句就行了。 加入新公司后,看了项目的代码。这份代码是从公司另外一款已经成功上线的
2016-12-31 09:53:10 333
原创 quick cocos2d-x 入门---井字棋
学习quick cocos2d-x 第二天 ,使用quick-x 做了一个井字棋游戏 。我假设读者已经 http://wiki.quick-x.com/doku.php?id=zh_cn阅读了这个链接下的内容 ,并学会了如何搭建环境和创建新的工程,并假高读者有一定cocos2d-x基础 建议读者多研究一下quick-x自带的例子coinflip。并阅读framework下的lua源码,尤其
2016-12-31 09:53:06 452 1
原创 Lua 栈的理解
提到C++与lua互调,不可不提栈。栈是C++和Lua相互通讯的一个地方。首先这个栈并不是传统意义上的栈(传统的栈需要放同一种数据类型,但在网上的某些资料说,每个栈元素是一个联合体)。栈从上向下分别是-1,-2,-3... ; 从下向上分别是1,2,3...这也就是lua_gettop为什么可以获得栈中总元素数的原因。因为lua_gettop()获得的是从下向上栈顶的索引,因为从1
2016-12-31 09:53:02 444
原创 Lua与C++互相调用(上)
int main1(int argc, const char * argv[]){ lua_State* L = luaL_newstate();//创建栈 luaopen_base(L); luaopen_io(L);//打开lua base,io两个库 int ret = luaL_loadfile(L,"tlua.lua");//加
2016-12-31 09:52:58 246
原创 C++类的内存分配
今天面试被问到一个类的内存问题,有些记不清楚了。用了 C++这么年,实在是不应该。于是上网查了一些资料,并做了实验,整理如下:所用测试环境为64位mac air,编译器为XCode1.最简单class Test{public: int a ;};printf("size=%d\n",sizeof(Test));这个相信大家都能猜得到。
2016-12-31 09:52:54 189
原创 cocos2d-x 将cocosbuilder输出文件映射成对象的原理
一。调用代码加载代码CCNode* GameOverScene::loadCCBI(const char * pCCBFileName, const char * pCCNodeName, CCNodeLoader * pCCNodeLoader){ CCNodeLoaderLibrary * ccNodeLoaderLibrary = CCNodeLoaderLibra
2016-12-31 09:52:50 188
原创 网络游戏剧情副本的一种实现方式(中)
这一节写客户端的具体实现方式。 为了演示,代码写的比较粗糙。 我们用一个EventCenter作为事件ID和事件的路由表,即根据某ID,即可定位到某处理事件的具体类,并根据参数处理这个事件。 前台应该有个类似这样的配置: .... 我简单处理成了直接赋值,关于数据结构的定义,都较简单的使用了map,实际
2016-12-31 09:52:46 400
原创 网络游戏剧情副本的一种实现方式(上)
在网络游戏中,常常出现一种剧情副本的情况。比如玩家进入游戏后,提示“少侠,欢迎来到新手村,最近野猪一直在骚扰村子,你去打几只吧”。然后镜头移向野猪,野猪做出暴怒的表情。玩家走过去杀死野猪后,将玩家传至主城。 这个剧情比较简单,实际情况可能要比这复杂的多。在程序中,如何做统一处理呢? 先写一下大体思路 我们采用配置的方法,简单来说,前台是基于事件组的节点,后台是调用场景的lu
2016-12-31 09:52:40 427
原创 2D游戏中的碰撞检测
近期做了一个类似坦克大战的android游戏。关于碰撞检测有一些收获,记录一下。 开始的思路是,将游戏分成行列组成的小块,当玩家或者怪物移动到某块时,就将此小块的id改为玩家或者怪物的id,子弹和怪物的碰撞,也是同样处理。但是这样造成的问题就是,每次玩家和怪物都必须行走一个整格子。玩家的移动,看起来有跳动感。 后来,我将玩家和普通障碍的碰撞和玩家与怪的碰撞分开处理。我原本是将玩家的图片
2016-12-31 09:52:37 1541
原创 linux下的一个网络服务器模型
介绍一个linux下的网络服务器模型。 系统架构将服务器程序分为两个服务器,即逻辑服务器和网络服务器(TcpServer)。逻辑服务器负责处理服务器需要处理的逻辑,而网络服务器仅处理网络的连接以及数据的收发。这两个服务程序是各自独立的,而不仅仅是属于不同进程。所以TcpServer的程序是可以直接应用于各个地方,而代码不需要改动。两个服务器之间,以共享内存或者管道等连接
2016-12-31 09:52:33 209
原创 读《算法与数据结构---c语言描述》
说来惭愧,这本书陆续读了很多很多次次了,却从来没有读完过。在学校的时候,多次下决心读完,2011年也有一次,这次总算把这本书看完了(从2011年11月开始的,虽然仍有很多页是翻过去的)。 这本书实在是一本特别枯燥又不知道有没有用的书,我多次强迫自己,却始终没有读完。在学校上这门课时,我实在觉得这门课没有什么意义,几乎没有认真上过一次。 读完此书,我得到了什么呢?我觉得,读书对我
2016-12-31 09:52:28 240
原创 排序二叉树的实现和我的一个数据结构设计
一。基本概念二叉排序树又称二叉搜索树,即在树的任何一个结点,都满足左子树小于根,根小于右子树。排序二叉树可以作为Map的关键码。主要的作用是快速的查找(相当于二分法) 二。基本算法1.查找查找时,首先和根结点对比,若相等,则查找成功。若大于根,则再向右子树查找;如果小于根,则向根的左子树查找;依次类推,直到查找成功或者遇到空结点。2.插入找到要插入的位置,类似于上面查找
2016-12-31 09:52:24 268
原创 《算法与数据结构---C语言描述》优先队列
所谓的优先队列,其实是一个二叉树,只是这个树比较特别,小数据的结点一定在大数据的结点之上,又称“小根堆”。 搞了几天,终于把优先队列搞定了,当然,也是这几天老是分神,QQ还是在白天设置成免打扰模式吧。 以下是代码 View Code 1 #ifndef PriorityLEAP_H 2 #define PriorityLEAP_H 3 4 temp
2016-12-31 09:52:21 318
原创 《算法与数据结构---C语言描述》里的农夫过河
题目: 一个农夫带着一只狼,一只羊和一些菜过河。河边只有一条船,由于船太小,只能装下农夫和他的一样东西。在无人看管的情况下,狼要吃羊,羊要吃菜,请问农夫如何才能使三样东西平安过河。 算法的实质:在满足一定条件下的,所有状态的遍历。 满足的条件:1.每次农夫必须移动2.农夫移动的东西与农夫必须在同一岸,但农夫可不带东西独自移动3.此种状态,必须在以往从来没有出现过
2016-12-31 09:52:17 1027 1
原创 《算法与数据结构---C语言描述》里的求多项达式值
在栈的应用里,作者写了将多项式值 ,但是描述的不是很清楚,露了一个说明 。从左到右读取中缀表达式,依次一个操作项.如果是操作数直接进入输出队列.读到左括号时总是将它压入栈中.读到右括号, 将最近栈顶的第一个左括号上面的操作符全部依次弹出, 送至输出队列后, 再丢弃左括号.当读到操作符时,将栈中所有优先级高于或等于当前操作符的操作符弹出,送到输出队列中.中缀表达式全部读完
2016-12-31 09:52:13 251
原创 关于命令模式的一点意见
1。如果invoker中不必保存命令集,而仅执行一条命令的情况下,invoker类可以被省略2。在命令类(Command中直接保存接收者(Receiver)的指针或者 引用的方式,并不可取,宜改为存储ID(前提是所有的receiver有统一的基类,并由全局管理)下面是代码的对比,由于是演示代码,写的比较粗糙。 保存指针方式 1 class Command;2 class
2016-12-31 09:52:05 160
c++实现简单内存池,维护可使用列表
2011-05-29
windows下g++
2011-01-09
VB+SQL Server的图书管理系统源码(用第三方控件进行了界面美化)
2009-12-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人