自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 slua与ulua对比

sluaC#调用lualua调用C\

2016-06-29 17:45:14 12122 2

原创 Android定制权限重名引起的问题

Android定制权限重名引起的安全问题

2015-10-25 21:03:57 3659

原创 Android的ActivityNotFoundException异常

Android的ActivityNotFoundException异常原因列举,如何在工程管理上入手避免这种错误

2015-09-28 00:22:19 6349

原创 《精益创业》阅读笔记

2014-05-01 22:22:15 1144

原创 手游项目使用Jenkins搭建持续集成系统

正忙于工作,却被打断要给市场部门打个包?测试部门要求每天有新的版本,可以验证bug?策划要求每天有新的版本,可以跟进审查?每次集成版本,总担心合并带来问题,要把主要模块手动跑个遍?如果你遇到这些情况,还不得不手动打包,人工测试,那这篇文章正适合你。持续集成(continue intergration,简称CI)系统,就是一个可以定时从源代码管理系统下载代码,调用编译器编

2014-03-27 13:54:54 8520

原创 《移动的帝国》阅读笔记

《移动的帝国》书评

2014-03-08 09:17:49 2135

原创 cocos2dx-lua绑定之代码编辑器

享受脚本语言灵活、更新方便、免于编译的好处,但也不能忍受离开那些方便的IDE特性(跳转、自动完成)。搜集整理了一些使用Sublime Text编辑cocos2dx-lua工程的资料,希望能给大家带来帮助。

2013-07-16 23:05:40 15743 29

原创 工作学习笔记——一些关于链接的有趣小问题

最近工作中经常碰到一些链接小问题。刚碰到时一般会稍有迷惑,思索一下感到原来如此。1.一个工程里引用的两个库,各自引用了一份基本相同的json解析库(源文件名称相同,代码相同,命名空间不同)。链接时vc总报告说找不到其中之一的定义。看了下链接报告,发现vc报了个警告,大意是重复定义,忽略其中之一。网上找了个解决方案,在项目设置里,将输出obj路径改为包含源文件的目录结构,遂解决。想来也是

2013-06-30 23:12:31 1631

原创 cocos2dx的lua绑定

话接上篇(tolua++实现分析)一、cocos2dx对tolua++绑定的修正A.c对lua回调函数的引用在使用cocos2dx编写游戏时,我们经常会设置一些回调函数(时钟、菜单选择等)。如果采用脚本方式编写游戏的话,这些回调函数也是需要写在脚本里的。实现这个功能,就需要lua将自己的函数传递给c++,c++保持对这个函数的引用,不要让这个lua函数被垃圾回收,并在适

2013-06-17 23:26:32 20548 7

原创 tolua++实现分析

项目正在使用cocos2dx的lua绑定,绑定的方式是tolua++。对大规模使用lua代码信心不是很足,花了一些时间阅读tolua++的代码,希望对绑定实现的了解,有助于项目对lua代码的把控。从阅读结果上来看,起码在内存管理上,帮助还是很大的。1.tolua++如何将c++对象导入到lua里tolua++为每一个传入lua的对象建立一个userdata,userdata的值,是

2013-05-26 23:33:00 21386 2

原创 一个简单的socket封装

SSSocket, 意思是simple stupid socket interface目的:编写一个易于消息数据读写、非阻塞、跨平台的socket封装。目前用于手机网游客户端优点:1.采用非阻塞的连接和IO,即使是单线程也不会阻塞UI2.提供读写buffer3.对完整消息读取友好的API缺点:1.单线程使用方式,目前考虑是游戏的每一帧,非阻塞

2013-05-05 21:37:33 3465

原创 工作学习笔记——10月

1.在windows下使用iphone配置实用程序查看log信息我们的项目目前只能在mac本上的模拟器和各种苹果真机设备上运行,这对于只有windows办公环境的策划,调试起脚本来很是不便。好在苹果官方有个windows版的iphone配置实用程序,连上设备后可以查看控制台输出。但这个程序里的控制台,只能检测输出到stderr的信息。虽然NSLog是输出到stderr的,但是我们的代码很多是写

2012-11-04 22:48:01 1012

原创 工作学习笔记——9月

这个月工作比较紧张,没有系统学习什么新知识。平时会碰到一些半生不熟的东西,因为赶时间,上网查查,问问人,也能将就着用着。但是心里总会有些不踏实,总想着能多明白一层也是好的。1.lua与c交互时的堆栈每个lua_state都只有一个堆栈。当lua调用一个c函数时,会保证这个函数可以使用LUA_MINSTACK个(默认是20)堆栈空间,不够的话会自动扩充堆栈。默认情况下,为了效率,lu

2012-09-25 17:58:21 1324

原创 骨骼动画原理及简单实现

骨骼动画的含义,一句话,骨骼的朝向和位置,影响顶点的位置。骨骼动画的计算方法,一句话,顶点在骨骼空间里的坐标,不受骨骼本身变化影响。因此,我们只要先将顶点从模型空间变换到骨骼空间,在骨骼发生旋转位移后,再把骨骼空间的坐标变换回模型空间即可。这方面的详细介绍已经有很多了,这里推荐http://www.wazim.com/Collada_Tutorial_1.htm这个向导从骨

2012-08-28 22:53:30 21578

原创 游戏动画技术的发展

2d游戏中的动画,最简单直接的实现方式就是一帧一帧的静态图片依序播放,也被称作精灵动画(sprite)。考虑到大量图片导致的内存消耗问题,发展出了一些2d动画精灵压缩方式。例如一个人物走动的动画,可以将身体、胳膊、腿单独切成一个个碎片图,然后在每一帧里,用同样的身体碎片图,配上不同的胳膊、腿,形成完整的一帧。动画只需要导出身体、胳膊、腿的碎片图即可。这样既节省了动画里大量的不变

2012-08-26 12:13:02 3186

原创 离开工作了五年的公司,还是留下来?

从实习开始,一直在一家手机游戏公司工作。伴着公司从不到十个人的小作坊,成长为百十来人的上市企业,自己也收获了经验,结下了伙伴。  近一年来,智能机移动大潮来袭、公司上市、人士变动,种种变化,让自己越来越迷茫,到底是去,还是留?留下来的好处:1.不像大多数新起手游企业,我所在的公司在某个封闭非智能机平台上有稳定的收入来源。虽然这个平台已到了末期,但至少最近这一两年,公司可

2012-08-04 01:02:45 6419 8

原创 《塞尔达——黄昏公主》通关纪念

看到林克的第一眼,我就喜欢上了这个游戏。  精灵似的秀气挺拔的外表,配着大自然的绿色林装,长剑弯弓,让你不得不想起童话里的彼得潘,传说中的罗宾汉。这个人,也许就是单纯腼腆小男孩英雄梦的象征吧。  可惜大学时才开始接触这个系列。英语听力课,偶然在教室电脑上发现一个模拟器版本的2d冒险游戏,有些动作,有些解谜,对这两个方向都有些偏爱、但都不能说擅长的我来说,这种适中的结

2012-07-30 22:44:41 2066

原创 工作学习笔记——6月

这个月在工作中碰到的比较有意思的问题有以下几个:1.ios代码签名机制  没有系统学习过ios的开发,碰到keychain、证书、profile等问题时十分头大。在网上查阅了些相关信息,发现这块的东西还涉及公私钥等概念。  按照我的理解,签名机制的作用,是保证客户机上的应用软件,确实是签名的作者写的,没有被恶意修改过。这里要用到非对称加密算法中的私钥加密、公钥解密的认证方式。可

2012-07-16 21:49:35 1387

原创 使用opengl es编写2d游戏的一些说明和技巧

即使是制作2d游戏,在移动设备上也往往使用opengl es绘图接口,来达到较高的绘制效率。这里记录一下我学习opengl es 2d绘图过程中逐渐明白的一些原理与技巧。  opengl 3d贴图的基本流程是:a.使用3d坐标指定一些描述物体空间位置的顶点(例如一个立方体,或者平面上的一个三角形,指定它们的顶点)b.给每一个位置坐标指定一个纹理坐标,表示纹理图上的哪个点对应这个

2012-07-01 13:05:24 4042

原创 论任务逻辑宜放在服务器端的原因

原来有一个同事,现在在顽石工作,负责维护《二战风云》。昨天我问他关于网游任务系统的实现时,他说,《二战风云》的任务系统完全是在服务器端实现的。原因没有细说,大概是便于更新之类。当然,二战最开始是个网页游戏,跟手机网游的情况不太一样,不能一概而论。晚上睡不着觉,我又想了想这个问题,得到的结论是:任务静态数据(例如文本描述信息),适合放在客户端;任务逻辑适合放在服务器。   昨天开会讨论服

2012-06-17 11:26:52 2995

原创 工作学习笔记——《Game Engine Architecture》

这本书有助于了解商业级3d引擎在底层(渲染、动画、物理、内存管理),上层(世界、对象模型、脚本集成),工具层(编辑器、数据驱动、debug支持)的一些常用设计模式、基本原理。作者的观点比较客观,大多是列举一些模式,同时指出它们的优缺点与适用范围。书中的实例也都是Unreal、Quake、Ogre这些业界知名引擎。对我来说一些很少接触的知识点(3d渲染、动画、物理),看了作者精彩的描述、分析,有一种

2012-05-29 23:06:32 1301

原创 工作学习笔记——4月、5月

这些天给游戏加声音,发现openal真是个好东西,支持3d音效————给音源一个坐标,声音近大远小这种问题就自动解决了。另外我们队引擎对openal的使用有很大问题,游戏中的每个音效在游戏一开始就要被初始化到不同的音源上,这样很快就把openal的音源给耗光了。正确的做法似乎应是把音效载入缓存,游戏初始化时建立固定数目的音源,播放某个音效时把缓存载入某个空闲音源即可。  游戏资源越来越

2012-05-20 22:54:30 1055

原创 Good Habit:习惯养成软件

一些好的习惯,比如体育锻炼、技能学习、早睡早起等,需要长期的坚持才能看到效果。但是大家现在的生活、工作节奏都很快,事情很多,稍不注意,一些欲带养成的习惯,随着一次两次的疏忽,逐步发展到完全遗忘,也是常有的事情。对我自己来讲,希望有这样一款软件:它可以记录我一周之内,某些行为进行了多少次,如果离目标相差很多,能得到某种提示。平时我一直在使用remember the milk,也找了些专门

2012-04-21 17:06:10 3795

原创 ZLIB算法学习

我们的游戏资源数据、例如图片、声音、脚本等,都是使用gzip压缩的。之前做BREW的时候,大部分手机支持BREW的ZIP解压接口,有的不支持,只好在网上找了一份解压的代码。找的代码好像在解析压缩数据头部信息时,有点bug。另外在一些超低端机型上,解压过程中会死机,怀疑是解压需要的内存过大的原因。因为不熟悉gzip压缩的原理,当时胡乱改了改,有些问题也不了了之了。  现在转做智能平台,看

2012-02-26 14:49:02 10367 1

原创 Windows应用程序WinSXS部署问题小结

在开发机器上跑得好好的程序,一拷贝到别人的机器上,经常无法启动,提示:“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题”出现这个问题的原因是应用程序使用了Windows的WinSXS机制。程序依赖的某些系统dll(c运行库、MFC),按照不同的系统架构(x86,amd64)发行方式(debug\release)、发布版本(50608\50727等),分

2012-02-17 21:43:17 2707

原创 工作学习笔记——GDI泄露检测利器

用.Net写的地图编辑器,最近在一个长时间使用的策划手里频繁挂掉。定位到原因应该是GDI泄露。但在几千行代码里手工寻找泄漏点实在是有些困难,直到在网上找到了这个检测GDI泄露的工具GDILeaks。它的强大之处,在于可以将程序里当前占用的gdi位图、dc用图形格式显示出来,这样,泄露点基本上就直接展示在你眼前了。另外,关于泄露为什么会发生,我还有些疑问。经检查,泄漏点是这样的C

2011-12-19 13:33:48 3118

原创 工作学习笔记——comboBox抢占焦点问题,以及工作学习的想法

.Net快速开发很便利,但有时总会碰到一些不痛不痒的小问题,让人无从下手解决。比如这个断断续续折磨了我好几天的comboBox抢占焦点问题。  窗体上有一个comboBox,还有一些其他控件也需要接收键盘输入。在没有操作comboBox之前,一切都是正常的,键盘事件流到了我预设的窗体按键事件处理函数里。但是,只要操作了comboBox,似乎它以后就独占了输入焦点,无论是窗体还是其它控件,都无法

2011-12-14 00:32:32 1694

原创 工作学习笔记——Alljoyn技术、初试Android开发

七八个Android门外汉用了一个月时间,做了3个wifi联网的Android小游戏出来,体会了久违的加班的苦与乐。联网使用的是高通推的AllJoyn技术(一种点对点近场wifi、蓝牙通信方式)。优点我们看来有二:1.提供直接函数调用的通信方式(一端调用另一端上定义的一个函数),省的byte数组转来转去;2.提供成熟的session机制,功能和安全性都有保证。缺点是接口设计的不太有善,

2011-12-12 00:09:06 13892 4

原创 工作学习笔记——CSAPP第三章

最近在读《深入理解计算机系统》(CSAPP)的第三章——程序的机器语言表示。之前这块内容也有所接触,对书中提到的一些细节问题倒更感兴趣一些。一、可变长数组    刚开始学习C语言时,都会被教到,声明数组时,数组的维数只能使用常量,也就是只能声明定长数组。如果数据个数不定的话,就要使用malloc动态分配。当时只是死记硬背,并没有想想这是什么道理。工作中了解到,函数中声明的数组一般存

2011-10-29 23:21:22 1738

原创 DIY chrome浏览器漫画翻页插件

最近迷上了火影忍者,在爱漫画网站上看的漫画版。每看完一页都要用鼠标点一下翻页键,时间长了觉得有些不爽。要是按上下键看漫画时,按一下旁边的键,就可以翻到下一页,会舒服不少。用的是chrome浏览器,装了一些插件,不过应该没有能满足我这个简单需求的,再加上对浏览器插件有些好奇,还

2011-08-20 21:44:23 5179

原创 MenuStrip控件无法显示菜单项的原因

这几天在开发WinForm程序中遇到几个看起来比较诡异的问题。一个MDI子窗体带一个MenuStrip控件,添加了几个菜单项。在设计器中看起来完全正常,但是一运行,只能看见菜单栏,菜单项确无法显示。几经折腾,发现菜单项被合并到了MDI父窗体的菜单栏。这是由于Menustrip的一

2011-07-27 23:25:23 8369

原创 工作学习笔记——.Net 4.0安装失败、RealView编译器生成的程序小的不正常

.Net 4.0安装失败Final Result: Installation failed with error code: (0x80070643)SchedSecureObjectsRollback: Failed to store ACL rollback information with error 0x80070424请验证您对该键拥有足够的访问权限,或者与您的技术支持人员联系

2011-05-25 00:11:00 9945 1

原创 工作学习笔记——用SQL语句新建SQL SERVER数据库、数据库用户以及登录名

用SQL语句新建SQL SERVER数据库、数据库用户以及登录名。登录名和用户名的关系,几个数据库基本概念

2011-05-16 21:15:00 4707

原创 工作学习笔记——近期的几个技术问题

BREW Mod调子Mod函数,dll调dllC#导入导出ExcelDataGridView控件的一些使用技巧使用SQL语句去掉数据库中某个表某一列的自动增长(标识列)属性

2011-05-15 12:35:00 1011 1

原创 BREW Makefile生成工具功能改进——把中间文件放入独立目录

<br />  BREW自带的Makefile生成工具产生的Makefile,会将中间文件(.o)生成到源代码目录下,这样源代码目录看起来很混乱。但是如果在编译完后删除这些文件,又无法享受到make的只编译改动过的源文件的速度优势。在第二版自己编写的BREW Makefile生成工具里(BMG,BREW Makefile 生成工具的编写),花了些时间解决了这个问题。<br /> <br />  目前采用的方式:<br /> <br />  .o目标定义为"中间目录/文件名"的形式,例如"objs/foo.c

2011-04-17 00:02:00 2685

原创 工作学习笔记——VS2010无法复制exe文件导致的工程生成失败问题

<br />某天碰到一个奇怪的问题,一个C#工程在VS 2010环境下突然无法正常生成可执行文件了。失败的原因是无法将可执行文件从obj/debug目录复制到bin/debug目录。重启VS后虽然可以正常生成,但是生成一次以后,又会生成不成功。怀疑文件被某个线程占用,但是使用工具监视文件的占用线程并没有什么特别的发现,很是恼人。<br /> <br />经过辛苦的网上搜索。才找到了问题的初步原因。为了使用内部版本号,把Assembly.cs中的版本信息由1.0.0.0改为1.0.*,结果就引起了这个问题。网

2011-03-15 00:14:00 4984 4

原创 工作学习笔记——C#自定义类型剪贴板操作、自定义鼠标光标定位问题

C#剪贴板操作,序列化;自定义光标定位准确度问题

2011-02-16 00:28:00 2182 2

原创 BREW Makefile 生成工具的编写

BREW Makefile 生成工具、VC插件编写、VC安装工程

2010-08-25 00:56:00 2215 6

原创 在BREW项目中使用GCC编译器

涉及arm-gcc版本、Makefile工具、链接脚本、链接错误等使用GCC编译器时遇到的问题

2010-08-02 01:24:00 3115

原创 BREW输入法适配小结

花了两个礼拜的时间适配了几十个手机的输入法,总结了几个适配成功的关键点。 1、标准模式  我称采用ITEXTCTL_SetSoftKeyMenu进行输入法选择的方式为标准模式,因为大部分事情都是API替你做了。但是对于这种模式,有一些地方API Reference里并没有说清楚,比如两个控件ITEXTCTL、IMENUCTL,各自的HandleEvent函数应如何调用,就没有找到标

2010-01-02 01:06:00 2498 5

空空如也

空空如也

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

TA关注的人

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