自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Cocos2Dx之渲染流程

           渲染时一个游戏引擎最重要的 部分。渲染的效率决定了游戏的流畅度清晰度,跟前面的介绍的内容相比,渲染是最具技术含量的事情,也是一个需要很多专业知识的事情。这里我们有这个机会, 来学习下一个游戏引擎的渲染是怎么做的。Cocos2Dx是一个2D框架,可以简单地看做z轴在一个平面上,Cocos2Dx采用的OpenGL技术决定 了往3D渲染上面走也不是不行的。最新3.2版本已经支持3...

2015-09-15 17:00:14 159

原创 BehaviourTree AI 行为树AI 实现的一些总结思考

GameRes游资网授权发布 文 / 杨漱玉青   Behaviour Tree的AI模块现在被很多地方所采用,前段时间自己实现了一个AI套件在Unity,中间也遇到了不少坑,现在来总结一下心得。   网上有很多行为树AI的介绍和实现,在这就不重复了。   更新频率过快导致的行为表现异常   行为树模块需要周期性的更新,先说说连续几个周期存在的问题。如果这个周期满足条件是Actor A走到Act...

2015-09-07 14:03:24 707

原创 游戏优化:均衡好这四个方向

     说起游戏的优化,在游戏开发中经常分为这几步:   首先要确定游戏中经常会出现哪些问题 - Profile   然后确定在哪些方向进行性能优化 - Analyze   最后再尽可能将问题逐个解决 - Solve   游戏开发中一定是先做工具,进行Profile,再进行优化,所以,说优化就不得不再扯一下Profile。   常见的工具有一些是引擎和IDE自带的,比如Unity自带的Prof...

2015-09-07 10:50:31 198

原创 影子跟随算法:FPS游戏中游戏同步性的实现

影子跟随算法:FPS游戏中游戏同步性的实现发布者: 小篱 | 发布时间: 2015-8-17 14:36| 评论数: 2 游戏程序平台类型:Web/页游 程序设计:算法逻辑/智能AI 服务器 网络通讯 编程语言: 引擎/SDK:  本帖最后由 小篱 于 2015-8-17 15:00 编辑   Ga...

2015-08-27 14:21:07 446

原创 手机格斗网游该如何避免延迟?

GameRes游资网授权发布 文 / 韦易笑   早期 RTS,XBOX360 LIVE游戏常用同步策略是什么?格斗游戏多人联机如何保证流畅性和一致性?如何才能像单机游戏一样编写网游?   算法概念   该算法普遍要求网速RTT要在100ms以内,一般人数不超过8人,在这样的情况下,可以像单机游戏一样编写网络游戏。所有客户端任意时刻逻辑都是统一的,缺点是一个人卡机,所有人等待。   1.客户端定...

2015-08-26 16:27:27 202

原创 Flash WebGame 开发经验心得和PureMVC框架细说

→前端的主程序架构和模块划分与人手和人事分工是紧密联系在一起的,而这些很大程度上又是由项目本身决定的。纵观现在国内绝大多数FLASH WEB GAME的规模和难度,我觉得前端AS人员大概需要2-7个之间,主程序有效代码一般不会超过10W行。在这种情况下,人事分工应当以功能和模块进行划 分,尽量避免多人维护同一份代码,每个人各司其职,减少维护和协作的成本。这种模式非常适合人手不够,制度不健全,而且追...

2011-06-28 14:02:54 85

原创 Flash中的深度排序

As for Multiplayer Games and Virtual Worlds202 排序算法……在世界里将对象放在正确的位置不是件难事,但是长期以来让开发者们发晕的是如何在以恶搞等角视觉里适当的将那些对象排序。“排序”这个词在这篇文章里的意思是指基于对象的3D位置将它们分在不同的图层。图例中灌木应该在树的前面显示,而树则应显示在灌木后面(基于他们的坐标)。...

2011-06-28 11:34:07 221

原创 Flex 中的callback

Flash支持传递函数做完参数传递。下面是主函数中的方法LoadGame.load(function (game:Game):void { trace('game: '+game); switchToGame(game); });下面是LoadGame中load方法function load(callback:Function):void{ ...

2011-06-28 11:16:41 150

原创 常用flash引擎和框架

官方在线帮助(没标英文的都是中文)用于 Adobe Flash Platform 的 ActionScript 3.0 参考 16种语言(使用这样的链接下载离线版http://help.adobe.com/xx_XX/FlashPlatform/reference/actionscript/3/PlatformASR_Final_xx-xx.zip)用于 Adobe Flash Profe...

2011-06-27 11:08:39 1546

原创 原来flash player对图片的解码不是异步的,AIR2.6后就异步了

用过 Loader 对象的人都知道,加载图片时,无论是使用 load() 方法还是 loadBytes() 方法,都是异步的。从开始加载到显示在舞台上这一过程,分别有两个动作:图片加载和图片解码。我一直都以为,从加载到解码完毕都是异步进行。但看了这篇文章后(http://www.bytearray.org/?p=2931),我才知道,只有加载的动作是异步的,加载完毕后的图片解码是同步的。即:加载动...

2011-06-27 10:53:15 71

原创 Flash WebGame 开发经验心得和PureMVC框架细说

→前端的主程序架构和模块划分与人手和人事分工是紧密联系在一起的,而这些很大程度上又是由项目本身决定的。纵观现在国内绝大多数FLASH WEB GAME的规模和难度,我觉得前端AS人员大概需要2-7个之间,主程序有效代码一般不会超过10W行。在这种情况下,人事分工应当以功能和模块进行划 分,尽量避免多人维护同一份代码,每个人各司其职,减少维护和协作的成本。这种模式非常适合人手不够,制度不健全,而且追...

2011-06-27 10:32:43 153

原创 简要评说Adobe的FlashPlayer的渲染算法

前些时候看到CSDN上一篇文章介绍FlashPlayer的渲染效能是HTML 5的数倍文章,回想起几年来对Adobe的FlashPlayer研究,想从理论上探究一下为什么会有这样的结果,同时也解释一下针对传统硬件加速(非GPU方案)为什么Adobe的FlashPlayer会被批评的原因;早些年在一家IC设计公司为一个低端平台(具有硬件3D加速)作官方的FlashPlayer的硬件加速,几个月下...

2011-06-27 10:22:30 86

原创 Python对amf的支持

Python通过第三方库对amf进行支持,支持常用的数据类型。使用amf进行数据传输不用在为拼字符串而烦恼。已对象的方式传输,对程序更友好。那先看下客户端的代码var socket:Socket=new Socket();socket.objectEncoding=ObjectEncoding.AMF3;var obj:Object=new Object();socket....

2011-06-24 13:38:50 820

原创 游戏中的智能寻路

近年来,游戏产业的快速发展带动了游戏中人工智能(Artificial Intelligence,简称AI)的发展,越来越 多的游戏采用人工智能技术提高游戏的可玩性。在电子游戏中,玩家操控主要角色,而其他角色的行为逻 辑由人工智能操纵,这些角色我们称之为NPC(Non- Player Character,非玩家控制角色)。大部分游戏在开发过程中都会遇到路径探索问题,快速、准确地计算出游戏角色从地...

2011-05-22 18:20:42 331

原创 as3中ProgressEvent的bytesTotal始终为0

as3中ProgressEvent的bytesTotal始终为0遇到很奇怪的问题,as3中监听资源下载的PROGRESS事件(ProgressEvent.PROGRESS),它的bytesLoaded属性倒是正常的,但bytesTotal属性却始终为0,结果是导致了得到的下载比率为无穷大(Infinity)evt.bytesLoaded / evt.bytesTotal evt.b...

2011-05-16 09:50:19 271

原创 使用URI-Style Namespace编译ActionScript/Flex Library

当你开发了一个有着多个Pacakge的类库,并在MXML中使用他们时,有没有发现这样的不便:你需要为隶属于不同Package创建的组件声明各自的pacakge-style namespace,例如下图中ClassA和ClassB:你可能需要这样引用它们:当引用的组件类处于很多不同的Package中时,你的代码将会变得复杂和混乱。另外,如果类库的包结构发生变化,你必...

2011-05-12 11:10:38 61

原创 flex tree展开

Flex的Tree组件自动展开的代码function init(){ tree.dataProvider=dataList; tree.callLater(expendTree);}private function expendTree():void{ tree.expandItem(dataList.node[0],true,false); t...

2011-05-06 09:39:06 93

原创 关于flex 中是用flash debug版本的问题

在使用flex的时候如果没有安装debug版本那么在每次运行的时候都会出现一个需要安装debug的提示框,可以在以下地址中安装。http://www.adobe.com/support/flashplayer/downloads.html...

2011-05-02 14:31:37 98

原创 环境贴图

教程:实时环境映射贴图技术实时环境映射贴图技术(Real-time Evironmnet Mapping) 如果你是个赛车游戏的爱好者,你一定玩过风靡全世界的赛车游戏《极品飞车:地下狂飚2》 (Need For Speed : UnderGround2)。在这款游戏中,玩家扮演了一个靠赛车为生的地下飚车手,在永远是夜晚的城市中飞驰。这款游戏大量地运用了环境映射技术(R...

2011-03-29 10:49:49 315

原创 类加载与应用程序域

swf文件中的所有代码定义都存在于应用程序域中,可以使用应用程序域划分位于同一个安全域中的类,这允许同一个类存在多个定义,并且还允许子级重用父级定义。 1.加载到子域 类似于“继承”,子域可以直接获得父域所有的定义;反之,父域得不到子域的。和继承关系不同的是,如果子域中有和父域同名的类,子域定义会被忽略而使用父域的定义 2.加载到同域 ...

2011-02-23 17:36:05 80

原创 Flex 拖拽范例

Flex由于在其Framwork里加入了DragDrop管理器,可以使得开发者在Flex应用中实现类似桌面的效果,默认情况下,Flex的拖拽管理器是针对List等控件的,实现这类控件之间的Item拖拽非常容易。下面是一个很简单的小例子 ...

2011-02-19 22:32:51 80

原创 Python与AS3 socket连接

在使用python的时候我选择的是python-2.6-stackless.msi和pywin32-214.win32-py2.6.exe进行安装使用的Python 提供了两个基本的 socket 模块。第一个是 Socket,它提供了标准的 BSD Sockets API。第二个是 SocketServer,它提供了服务器中心类,可以简化网络服务器的开发。Python 使用一种异步的方式来实...

2010-12-10 10:09:59 288

原创 Python之旅

一直用AS3+Red5做一些小游戏,感觉挺方便的,特别在做上下线的功能的时候很方便,Red5都帮我们封装好了,所有需要的方法。基本调用就可以,但是在做大并发访问的时候,Red5就成了一个瓶颈,这个时候用socket是很好的解决办法,可以选择java的socket或是AMFsocket都是可以的,但是真正要提高效率,就要Python和C/C++的iocp来实现,今天做了一个简单的例子,我喜欢使用ec...

2010-12-09 19:40:58 83

原创 flash player10的rotationY的使用

flash player10提供了对3D的支持,虽然功能不够强大,但是有些功能还是很不错的,下面是用10写的一个翻牌游戏。public class Card extends Sprite{ [Embed(source='../../../lib/goodbyewow02.jpg')] private var FrontFace:Class; [Embed(sourc...

2010-12-07 12:26:47 127

原创 red5的常用方法

在使用red5+flash做rpg游戏开发的时候有些功能是需要服务器来提供的,如最简单的多人用户上线,当一个用户上线后后要通知所有其他的用户,这个时候就需要red5去获取所用链接的客户端,然后通知客户端用户上线。当用户下线的时候,也是同样的需要red5的支持。我在开发的时候是使用red5 0.8的版本。下面详细介绍一下具体的实现。ApplicationAdapter是客户端与red5连...

2010-12-03 10:11:41 88

原创 AS3将mc转换为bitmap

将mc转换成bitmap首先得建立一个BitmapData,使用BitmapData的draw方法或是BitmapData.copyPixels方法绘制。var mc:MovieClip = new MovieClip();var mBit:BitmapData = new BitmapData(mc.width,mc.height, true, 0xffffff);mBit.draw...

2010-12-02 12:26:18 160

原创 渐变遮罩

使用flash渐变遮罩时,需要指出Alpha通道遮罩,首先要创建一个渐变的MC,同时要将MC做图片缓存,另外被遮罩的图片也需要做图片缓存,具体实现如下。var loader:Loader=new Loader();var req:URLRequest=new URLRequest("img.jpg");loader.load(req);this.addChild(loader);...

2010-11-29 13:28:24 125

原创 PV3d性能优化

当你优化你的程序时,要考虑到许多因素。性能的优化并不仅仅与你使用 Papervision3D 的方式相关。最后所说的是关于如何在 Flash 中进行性能的优化。让我们先测试一些并不只与Papervision3D 有关的优化技巧。舞台品质将 stage quality 调低是得到性能的最容易的方式。降低 stage quality 并不意味你降低了屏幕的质量。首先,先来看看你可以...

2010-11-25 14:19:25 100

原创 AS3数组中找最大值

var func:Function = Math.max;trace(func.apply(null,[4,5,6,7,8,9]));该方法能在flash 数组中找到最大值。分析通过Function方法的applay其实就是调用Math.max方法然后传入这些参数,返回最大的一个。...

2010-11-10 16:15:51 272

原创 AS3碰撞测试讨论

AS3中有专门的碰撞检测的方法hitTestObject(),这个碰撞方法是针对MC的,这样他检测的形状是矩形,这样检测特殊形状的时候就不太准确,AS3中提供了更精确的检测方法BitmapData.hitTest()方法,具体使用HitTest.complexHitTestObject(mc1,mc2)这样就可以检测是这张图,而不是mc。具体参数如下firstPoint(Point...

2010-11-09 17:52:51 152

原创 AS3 stage.loadsInfo.parameters

AS3中stage.loadsInfo.parameters用于接收从客户端获取数据。在使用Flex,或是CS进行发布Flash时,会生成一个HTML文件,其中有这一段内容 AC_FL_RunContent( "src", "playerProductInstall", "FlashVars", "MMredirectURL="+MMredirectURL+'&MMplay...

2010-09-10 10:58:15 150

原创 PV3D destory对象

在使用PV3D进行建模的时候,很多时候需要使用图片贴图这样,这样就回很占用内存,在加上AVM2的垃圾机制弊端甚多,所见在用完销毁进行销毁是一个很必要的过程,var material:MovieMaterial = new MovieMaterial(MC,false,false,false);这个时候如果我们要销毁他的话,就需要调用material.bitmap.dispose(); ...

2010-09-09 10:08:50 88

原创 AS3渐变遮罩

AS3透明遮罩var loader:Loader=new Loader(); //创建一个Loader对象var url:URLRequest=new URLRequest(“http://wakj.blog.enorth.com.cn/attachment/pic/636177.jpg”); //创建一个地址请求对象loader...

2010-09-07 17:59:21 134

原创 Flex Label null的问题

在使用的SDK3.5的时候遇到问题,在设置了label的width后,如果文本的长度超过了width的宽度就会用null填充,正常情况下应该是"..."填充。最后发现是使用的版本问题,在安装的时候使用的是中文的操作系统,而安装的Flex是英文版本,哪么在新建的项目的 Flex Compiler/Additional compiler arguments:默认的就变成了 -locale 这样...

2010-08-30 13:20:26 100

原创 PV3D关于Plane模型的讨论

最近一个项目需要用到plane材质。plane材质的使用方法很简单,var plane:Plane= new Plane(material,100,100,1,1);material就是要贴在plane中的材质,具体API请看链接[url]http://papervision3d.googlecode.com/svn/trunk/as3/trunk/docs/index.html[...

2010-08-23 12:08:25 148

原创 PV3D处理3D矢量绘图与3D文本

Papervision3D主要以位图为基础,所以所有的渲染都被转换为位图。如果采取这种方式,呈现出外观清晰光滑的文本会成为复杂问题,如在第四章所见的例子MovieAssetMaterial。渲染文本直接采取矢量图的手段是个很好的选择。基于以下两个原因:● 位图质量由分辨率决定,对其缩放会导致图片质量下降。矢量图的缩放却无图片质量损失。● 在变化中的三角形中换行并保证良好的外观是很难...

2010-08-23 11:46:03 113

原创 PV3D深度排序

Z-sorting (深度排列)介绍下面三个方面:a : 什么是Z-sorting(深度排序)b : layering scene renders (分层渲染场景) c : 用四叉树进行复杂的渲染的渲染 注:viewport层 就是ViewportLayer类的实例.它包含在viewport 内Z-sorting的解释 :在前面的章节中你一定碰到过Z-sortin...

2010-08-22 09:41:52 145

原创 PV3D的外部模型使用

第九章 : Z-sorting (深度排列)简介: 本章主要介绍下面三个方面: a : 什么是Z-sorting(深度排序) b : layering scene renders (分层渲染场景) c : 用四叉树进行复杂的渲染的渲染 注:viewport层 就是ViewportLayer类的实例.它包含在viewport 内Z-sorting的...

2010-08-21 10:12:53 125

原创 pv3d关于倒影的使用

PV3D中使用倒影很简单,使用reflectView类就可以。查看PV3D的源码,发现ReflectView是继承自BasicView,所以实现倒影的第一种方式是继承自BasicView.继承自BasicView的原因是要绘制倒影,同时要和原始图像保持同步,这就需要在绘制的时候不停的renderer.renderScene。所以如果加上倒影功能,如果面很多,就可能影响他的流畅度。建议少...

2010-08-11 13:15:40 73

原创 解决"ORA-28001: the password has expired”

文章分类:数据库 Oracle 10g 以上密码失效问题 oracle em无法登录,我自己遇到的问题总结如下: 其中有两个用户可能密码失效 1、 sysman 2、 dbsnmp 首先,以SYS DBA身份进入sqlpuls 打开sqlpuls SQL->请输入用户名:sys as sysdba SQL->密码: 登录成功以后查询DBA用户状态...

2010-06-30 13:15:36 120

空空如也

空空如也

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

TA关注的人

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