自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (7)
  • 收藏
  • 关注

原创 互联网产品saas化为何困难

互联网产品saas化有多难,为什么很难成功,最终做成了外包?

2017-01-11 21:23:04 6601 2

原创 Unity3D Shader 入门

Shader的种类Unity Shader 是将传统的硬件Shader(由 Cg / HLSL编写)嵌入到独有的描述性结构中而形成的一种代码生成框架,最终会自动生成各硬件平台自己的Shader,从而实现跨平台。Unity Shader 分为 表面着色器(Surface Shader)和 顶点片段着色器(Vertex And Fragment Shader)。表面着色器(Surface Shader

2015-06-10 17:32:44 22165 3

原创 Unity5 如何做资源管理和增量更新

工具Unity 中的资源来源有三个途径:一个是Unity自动打包资源,一个是Resources,一个是AssetBundle。Unity自动打包资源是指在Unity场景中直接使用到的资源会随着场景被自动打包到游戏中,这些资源会在场景加载的时候由unity自动加载。这些资源只要放置在Unity工程目录的Assets文件夹下即可,程序不需要关心他们的打包和加载,这也意味着这些资源都是静态加载的。但在实

2015-06-05 14:40:15 40403 10

原创 正弦波近似

在做一些游戏效果的时候经常需要用到正弦波,它平滑又有周期性,但是sin的计算开销略大。作为优化,在GPU Gem上看到一个用三次函数平滑三角波得到近似正弦波的方法不错

2015-03-20 15:17:54 3264

原创 Unity Batch 对 Vertex Shader 产生影响

今天用Vertex Shader来实现旗帜飘动,本来设想是旗帜是在旗面的法线方向上下飘动的,所以在模型坐标系下给vertex.z加上一个随时间变化的sine波。

2015-03-20 14:29:18 2416

原创 动作手游技术漫谈-角色的状态和行为

游戏中的角色通常都会有站立,跑动,攻击,受击等状态。学过计算机的人都知道有限状态机FSM这个神器,它广泛应用于硬件控制电路设计和软件开发中。是的,每个角色都应该有一个状态机,状态机定义了角色可能出现的状态和这些状态相互转换的条件。例如跑动状态可以切换到攻击或受击状态,但是受击状态不可以立刻切换到攻击状态。一个动作游戏的角色应该有多少个状态呢?站立,跑动,攻击,受击,跳跃,受击浮空,空中受击,倒地,死

2015-02-08 20:40:50 3317

原创 动作手游技术漫谈-碰撞

做动作手游一定会用到碰撞,没做过的人可能会觉得碰撞挺复杂的,其实动作游戏的碰撞很简单,甚至比雷霆战机这种休闲游戏还要简单,难可能是难在打击/受击的节奏感上,技术只能提供一个灵活可配置的战斗系统,具体参数怎么配置怎么调,节奏的把控就要看美术和产品了。如果是做像时空猎人,王者之剑,三国(乱世)之刃这类横版2D动作游戏,碰撞可能只需要两个矩形:攻击包围盒和受击包围盒。每个场景中的角色都有一个受击包围盒,大

2015-02-08 19:13:57 2374

原创 动作手游技术漫谈-网络方案

现如今能用心做单机游戏的开发商越来越少了,我们身边充斥着XX手游月入千万,XX手游公司估值几亿的神话。手机游戏是一种比较特殊的游戏,手机随身,玩起来方便,玩家随时随地都可以玩;它可以联网,但网络条件通常又不那么好,玩家可能有流量的限制,可能网络不稳定,可能网速不快。但是和单机游戏比网络确实可以给游戏增色不少,有网络才有社交的可能,伟大领袖曾说过,与人玩其乐无穷。动作手游是选择弱联网还是长连呢?这个看

2015-02-06 18:36:43 2765

原创 动作手游技术漫谈-引擎选择

做游戏首先是要选择一款引擎,重新发明轮子自己开发一个引擎不是一般小团队能搞得定的。就算有这个技术实力,未必有这个时间去开发;就算费时费力开发出来了,也难以保证在诸多手机平台的兼容性和稳定性;就算你的引擎很好很稳定,也还有人才培养的问题,因为你是招不到熟悉自研引擎的人的,只能自己培养,而又有多少工程师愿意去学习一个非主流的引擎呢?所以我们还是不考虑这个选项了。现在国内做手机游戏比较主流的引擎就是coc

2015-02-06 15:22:56 2541

原创 如何解决ios SIGPIPE 导致的崩溃

在开发ios长连接游戏的过程中遇到一个问题:在游戏运行过程中玩家按下home键或者其他原因游戏被挂起,socket连接不会断开,服务器为了节省资源,在一段时间后会主动关闭这个连接。当玩家再次切回到游戏后,前端并不知道这个连接已经断开了,继续通过断开的socket发送消息,这时候send函数会触发SIGPIPE异常导致程序崩溃。解决这个问题我们需要在send的时候检测到服务器已经关闭连接

2014-06-06 16:00:54 13066 6

原创 Lua 面向对象实现

目标:实现一个class函数,给lua添加面向对象的特性基础:和编译型的面向对象语言不同,在lua中不存在类的定义这样一个概念,不管是类的定义还是类的实例都需要通过lua table来模拟。我们实现的lua面向对象是prototype方式的,即类是一个lua table,这个table 定义了类实例的原型, 类的实例则是基于这个原型的另一个lua table。关键:实现Lua面向对象可以分

2013-11-15 16:20:23 27171 3

原创 用python实现水纹特效

需要安装pygame模块,还需要一张背景图片,因为计算比较费时间,图片不能太大。鼠标点击处即现水纹效果。算法描述详见:http://wenku.baidu.com/view/bba633e96294dd88d0d26b7d.html#coding=utf-8import pygamefrom sys import exitfrom pygame.locals import *BACK_W

2012-09-20 15:48:15 6647 1

原创 cocos2dx 内存管理

cocos2dx的内存管理移植自Objective-C, 对于没有接触过OC的C++开发人员来说是挺迷惑的。不深入理解内存管理是无法写出好的C++程序的,我用OC和cocos2dx也有一段时间了,在此总结一下,希望对想用cocos2dx开发游戏的朋友有所帮助。C++的动态内存管理一般建议遵循谁申请谁释放的原则,即谁通过new操作符创建了对象,谁就负责通过delete来释放对象。如果

2012-09-05 14:41:54 19376 10

原创 Box2D 射线和AABB的碰撞检测

最近需要用到射线和运动AABB的实时碰撞检测算法,作为基础看了下box2d的碰撞检测。box2d使用了一种叫做slab的碰撞检测算法。所谓slab是指两个平行平面之间的空间,由此我们可以把3D空间中的AABB盒子看做是由AABB的3组平行面形成的3个方向的slab的交集。根据这个定义,我们可以得到以下两个结论:1.如果一个点在AABB中,那么这个点必定同时在这3个slab中

2012-06-19 18:48:45 18508 2

原创 Unity3d 双线性插值纹理图片缩放的实现

最近用Unity做一个2D游戏的时候发现了Unity3.5引入了一个很低级的bug。在Unity3.5之前,使用Texture2D.PackTextures生成Texture Atlas,当原始图片太大无法打在一张大图上时会自动对原始图片进行缩小适应。在升级到Unity3.5后这一行为发生了改变:太大的图片会被直接裁剪适应,而不是缩放适应。这对于使用EZGUI用户来说是个很严重的问题,如果希望使用

2012-06-19 14:07:27 10690 2

原创 2011年的一些思考

2011年的IT界发生着翻天覆地的变化,我们见证了技术与行业许多重大而深刻的变迁,这似乎预示着一个新时代的来临... 也许我们可以叫他移动互联网时代吧。IOS的崛起与乔布斯的离去如果没有IOS,会有Android吗?会有如火如荼的应用商店吗?也许HTC上还跑着Windows Mobile,也许诺基亚还可以凭借硬件优势独步天下,也许我们永远也不会意识到手机的操作理应和电脑不一样。乔布斯告

2011-11-28 22:48:36 4068 12

原创 Box2D 内存管理 - 小型对象分配器(SOA)的实现

Box2D用C++编写(当然还有其它语言的移植版),但是为了快速有效的使用内存,创建对象的时候它并没有使用C++标准的new 和delete关键字,而是自己实现了一个被称作小型对象分配器(smaller object allocator简称SOA)的类b2BlockAllocator。根据Box2D手册描述,Box2D倾向于分配大量50~300字节的小型对象,而且多数小型对象的生命周期都很短,如果

2011-11-17 10:38:53 4605 2

原创 cocos2d 坐标系使用

GL坐标系Cocos2D以OpenglES为图形库,所以它使用OpenglES坐标系。GL坐标系原点在屏幕左下角,x轴向右,y轴向上。屏幕坐标系苹果的Quarze2D使用的是不同的坐标系统,原点在屏幕左上角,x轴向右,y轴向下。ios的屏幕触摸事件CCTouch传入的位置信息使用的是该坐标系。因此在cocos2d中对触摸事件做出响应前需要首先把触摸点转化到GL坐标系。可以使用CCDir

2011-11-12 15:42:26 7556 1

原创 Java Threads 多线程10分钟参考手册

Java 多线程 同步 Volatile 信号量 线程池

2011-10-10 11:52:29 13804 27

原创 常用数据库 JDBC URL 格式

Microsoft SQL ServerMicrosoft SQL Server JDBC Driver (一般用来连接 SQLServer 2000)驱动程序包名:msbase.jar mssqlserver.jar msutil.jar驱动程序类名: com.mi

2011-01-19 14:55:00 93849 4

原创 SAP BW 模型简介

本文简要介绍了SAP数据仓库产品BW的基本模型。

2010-09-15 19:43:00 8139 1

原创 Azure云计算之Windows Azure

Windows Azure是一个集应用程序开发,服务托管,服务管理为一体的云计算操作系统。它为开发人员提供了构建在微软数据中心之上的随需应变的计算和存储平台来托管可升级,高可靠性的web应用。它使开发人员可以使用极少的on-premises 资源来开发大规模,分布式的应用程序并快速部署使用而不用关心IT基础架构。

2010-06-15 16:31:00 2368

原创 System.load 和 System.loadLibrary详解

System.load 和 System.loadLibrary详解1.它们都可以用来装载库文件,不论是JNI库文件还是非JNI库文件。在任何本地方法被调用之前必须先用这个两个方法之一把相应的JNI库文件装载。2.System.load 参数为库文件的绝对路径,可以是任意路径。例如你可以这样载入一个windows平台下JNI库文件:System.load("C://Docu

2008-11-06 23:21:00 80096 10

原创 Web Service Security with Axis2

This document base on following version of applications:Axis2 1.3, Rampart 1.3, Tomcat 5.5If you get a higher version of them, this document maybe out of date for you. 1. Rampart setupAxis2

2008-07-25 16:17:00 4374

原创 C++ Virtual详解

Virtual是C++ OO机制中很重要的一个关键字。只要是学过C++的人都知道在类Base中加了Virtual关键字的函数就是虚拟函数(例如下面例子中的函数print),于是在Base的派生类Derived中就可以通过重写虚拟函数来实现对基类虚拟函数的覆盖。当基类Base的指针point指向派生类Derived的对象时,对point的print函数的调用实际上是调用了Derived的print函

2007-05-11 23:06:00 78819 33

JDBC Metadata MySQL and Oracle Recipes

教你如何使用jdbc获取数据库的元数据。pdf英文版,非扫描

2008-07-28

SWT A Developers Notebook

不错的SWT入门书,有详细的样例代码展示SWT各个组件如何使用

2008-07-28

Core CSS

Core CSS 英文原版光盘附带<br>100%清晰

2007-10-21

线性模型分析原理

概率,统计,线性模型分析

2007-10-21

空空如也

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

TA关注的人

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