- 浏览: 14963 次
最新评论
flash 博客
2009年12月15日
http://hi.baidu.com/dreamparks/blog/category/flash%BD%C5%B1%BE
Flash网络游戏开发入门经验共享 大约1年前(07年3月),有了想使用Flash做网页游戏的冲动。于是研究了AS2,经过了解,感觉AS2做网页游戏还是有不少欠缺的。这时又得知了AS3,如获至宝。对于有Java开发经验的程序员,尤其是开发过Java客户端的程序员,AS3真是太合适做游戏开发了。[b] 后来公司也上了Flash MMORPG的项目,于是就开始学习AS3的语法和库,学习Flex工具。有了Java的经验,这些就很快了。[b]作为Flash网页游戏,不单单是炫酷效果的展示,用户的交互和逻辑也很多,因此好的游戏一定离不开AS3代码的。 磨刀不误砍柴工,我建议大家在真的动手开发项目之前,把该看的文档都看一遍,顺便写一些测试代码加深理解。建议的文档和理由如下:[b] 《Adobe Flex Help》。这个就是Flex自带的帮助了,看了这个,就知道如何使用AS3来创建,编写,编译,调试,发布应用程序。使用AS3,哪些东西能做,哪些东西不能做;哪些东西可以直接用现成的,哪些东西需要自己来开发。有些人习惯遇到文字再查帮助,或者GOOGLE,或者到论坛提问。其实提问也是有学问的,你能把问题描述的越准确,就能越快的得到准确的答案。[b] 《ActionScript 3.0 Cookbook》和《Essential ActionScript 3.0》,AS3的基本语法,常用功能,一些作者的心得。看了这些,很多问题就可以不求人了。看书的时候,那些立刻需要使用的,最好记下来;那些暂时用不到的,知道用的时候去哪里找答案就可以了。[b] 下面具体说说以我认为开发Flash网络游戏需要掌握的技术吧。[b]1.显示[b] 一个游戏离不开显示,AS3已经为开发者提供了一个比较完整的2D显示引擎了。学习这个部分,学习显示列表,学习DisplayObject和DisplayObjectContainer的区别,学习Shape, Sprite, MovieClip, Bitmap这些基本可显示对象的区别。[b]2.鼠标输入[b] 交互就离不开用户输入的处理,鼠标是游戏中最常用的输入设备。需要知道只有继承自InteractiveObject的对象才能接收鼠标消息。还要学习如何使用鼠标拖拽,如何判定鼠标消息产生的目标,如何启用,禁用鼠标消息。鼠标坐标的全局和局部的转换。[b]3.键盘输入[b] 键盘除了标准UI组件内部会用到,游戏的快捷键等功能也需要用到。[b]4.位图[b] 作为游戏开发,可能不是所有的美术素材都是在开发阶段就固定的,或多或少需要在游戏过程中对图形进行一些变换处理。因此需要熟练掌握Bitmap和BitmapData对象。[b]5.层[b] 作为MMORPG游戏,不同可视对象之间是有层次关系的。不同层的关系是固定的,比如地面层,人物层,UI层。同一层上的物体重叠时,需要通过修改在显示列表中的相对位置来调整上下关系。[b]6.UI组件[b] 按钮,输入框,文本框,下拉框,列表,表格。这些在游戏中都少不了。为了游戏画面的美观和风格一致,通常都需要修改标准组件的皮肤,才能应用到游戏中。[b]7.资源加载[b] 大家都知道,传统客户端MMORPG游戏,动辄几百M上G的尺寸,大部分都是媒体资源,我们不可能把这些资源都打到一个SWF文件中,因此需要根据资源的重要程度来决定加载策略。最常用最基本的,程序启动时加载;其他的,可以在游戏过程中动态加载。[b]8.事件机制[b] 作为新人,或多或少都会用到addEventListener方法。作为大型系统开发者,一定要知道这个方法背后的IEventDispatcher接口和EventDipatcher类。使用事件机制进行开发,一方面为了降低代码之间的耦合,另外也是方便了多人协作开发。[b]9.远程通讯[b] 作为MMORPG的通讯方案,需要考虑效率和安全性。由于服务器端我们很熟悉Java的Socket开发,而且看到了AS3的Socket类,于是毫不犹豫的选择了使用私有协议的通讯方式。作为MMORPG,基于HTTP的协议效率肯定比直接基于TCP的二进制协议低。另外,基于HTTP方式,不太适用于服务器向客户端推消息的情景。AS3的其它通讯方式我了解的不太清楚,不知道是否有在灵活性,安全性,性能方面超越Socket方案的。[b]10.性能优化[b] 作为商业游戏,需要考虑到玩家环境的千差万别,因此系统的很多效果都需要有参数可以控制,使得程序能流畅的运行于玩家的机器上。作为Flash网游,需要考虑客户端的内存占用和CPU使用,需要考虑服务器的流量和客户端到服务器的带宽。[b]11.多线程[b] 首先,Flash没有多线程,是一个单线程,如果有时候需要实现类似开一个线程进行耗时的复杂计算时,可以将这个计算封装成一个类,提供一个step方法,每掉用一次step,执行若干步计算,手工为代码分配时间片。用这种方法来模拟多线程。[b]12.高级知识(js/jsfl/swf格式/加扰/虚拟机运行机制)[b] 作为一款产品,在开发过程中还有很多细节需要考虑。[b] 比如使用ExternalInterface与JS通讯。Web游戏,离不开网页的,偶尔还是会与网页有些交互的。[b] 使用JSFL批量生成或者处理Fla项目文件。游戏中大量的资源的格式是类似的,如果完全由人工,需要大量重复劳动。幸好Flash提供了JSFL的扩展,帮我们节约了大量的人工。[b] 对SWF格式的理解。有些工作,由于JSFL的可编程性比较差,无法完美实现,我们还编写程序直接对SWF文件进行操作。曾经有一个需求,需要四个人花一周时间才能搞定,而且还很容易出错,后来写了JSFL脚本,外加编程直接处理SWF,每次进行类似的工作,只需要一个人几分钟人工,程序跑1个小时就搞定了。[b] 商业产品发布时,还是要代码加扰的。现在反编译先锋Sothink4/ASV6已经问世,但是AS3加扰的工作还远远落后于反编译的步伐。我们这些Flash开发人员很着急呀。[b]13.算法[b] 算法对于游戏开发还是很有用的。有时候是效率的提升,有时可能是01的区别。[b][b] 就简单说这么多了,真要展开了讲,能写一本书了。这里只是给大家说说个人走过的路,不一定全对,只是希望帮助大家少走一些弯路
[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
发表评论
-
新的Windows Azure SDK for PHP 3.0版本现已推出
2012-01-20 09:23 460新的Windows Azure SDK for PHP 3.0 ... -
现已可用:集成了Web Deploy的Windows Azure SDK 1.4更新版
2012-01-20 09:23 623现已可用:集成了Web Deploy的Windows Azur ... -
Windows CE 6.0的安装,简单定制和导出SDK
2012-01-20 09:23 1244Windows CE 6.0的安装,简单定制和导出SDK 2 ... -
编译自己的windows android sdk(how to build android sdk for windows)-chenyongxinglove的专栏
2012-01-20 09:23 726编译自己的windows android sdk(how to ... -
现已可用:更新Updated Windows Azure SDK 和 Windows Azure Management的页面
2012-01-20 09:23 497现已可用:更新Updated Windows Azure SD ... -
《论语》解读之颜渊第十二
2012-01-19 14:23 692《论语》解读之颜渊第十二 2011年12月27日 《论 ... -
清代礼制
2012-01-19 14:23 599清代礼制 2011年02月15日 清时官员的服饰有严格的 ... -
2012-1-2
2012-01-19 14:23 4832012-1-2 2012年01月02日 ... -
仓廪虚兮岁月乏,子孙愚兮礼义疏
2012-01-19 14:23 819仓廪虚兮岁月乏,子孙愚 ... -
中华帝国:兴于礼,覆于礼(下)礼制之下的朝臣
2012-01-19 14:23 584中华帝国:兴于礼,覆于 ... -
AS3,ReferenceError: Error #1056: 无法为 ×× 创建
2012-01-17 04:13 653AS3,ReferenceError: Error #1056 ... -
ReferenceError: Error #***:***上找不到属性 ***,且没有默认值
2012-01-17 04:13 1638ReferenceError: Error #***:***上 ... -
AS3,ReferenceError: Error #1056: 无法为 ×× 创建 属性 ×××。
2012-01-17 04:13 674AS3,ReferenceError: Error #1056 ... -
perfHUD使用说明
2012-01-17 04:13 794perfHUD使用说明 2011年04月14日 perf ... -
学习android游戏开发的准备
2012-01-17 04:13 589学习android游戏开发的准备 2011年08月10日 ... -
统考选择题
2012-01-16 03:01 572统考选择题 2010年05月14日 [1].操作系统中, ... -
制作课件需要哪些软件
2012-01-16 03:01 755制作课件需要哪些软件 ... -
flash
2012-01-16 03:01 899flash 2009年12月01日 ... -
扩展名 文件类型 打开方式 ..
2012-01-16 03:01 991扩展名 文件类型 打开方式 .. 2010年10月30日 ...
相关推荐
php+flash 博客 用PHP +FLASH 的博客
Flash 个人博客网站制作
Flash版个人博客网站源码,页面中的所有元素都是一个Flash文件完成的,不涉及HTML代码,用Flash做出来的网站,修改时候只需要使用Flash软件打开编辑修改即可,本Flash网站适合个人博客、主页、个人工作室之类的网站...
成长博客,里面有几个经典的小动画,以及整站的设计,但还有几个项目没有做全,可以进行补充以及美化
简洁个人博客仿flash交互简单html5模板_简洁 个人 博客 个性 交互 简单 jquery 仿flash html5
flash的基本操作 如简单的文字效果,按钮等
简洁个人博客仿flash交互简单html5模板_简洁 个人 博客 个性 交互 简单 jquery 仿flash html5.rar
简单仿flash动画css3个人博客模板下载_简单 动画 css3动画 个人 博客 blog 仿flash 响应tml5.zip简单仿flash动画css3个人博客模板下载_简单 动画 css3动画 个人 博客 blog 仿flash 响应tml5.zip
黄刚-u-boot-2009.08-nand flash-mini2440本次移植的功能特点包括: 支持Nand Flash读写 支持从Nor/Nand Flash启动 支持CS8900或者DM9000网卡 支持Yaffs文件系统 支持USB下载等 。。。。
Flash知识点总结Flash知识点总结FlasFlash知识点总结h知识点总结
文件由官方提供的open-flash-chart-2-Lug-Wyrm-Charmer.zip原版文件,仅修改支持透明的flash的swfobject.js,原文件也在压缩包内。 ... ...asp环境请访问index.asp ...大头爸爸博客:http://blog.csdn.net/zm2714
博客很有用的flash播放器 防刷新
Flash MP3 Player Builder可以简便快捷地批量转换MP3与WAV等音乐文件为Flash(*.SWF)格式,然后就可以轻松将Flash格式的MP3播放器添加到您的网站和博客上。
博客网站适用的Flash菜单,这种菜单风格很适合博客类网站使用,从开始显示就有动画效果,喜欢flash站的可参考下。
CSS3仿Flash动画个人博客模板是一款横向全屏切换的个人博客模板下载。
刚参加工作,讲Flash这门学科,准备了一节关于引导层动画的公开课,里面包括PPT、教案、Flash做的守株待兔动画效果等,希望能帮助有需要的人,里面还有许多不足之处,希望大家批评指教!
flash+xml网页博客背景音乐播放经典集合
这个东西适用的人可能比较少,不过如果你参与了政府网站的建设项目,可能会用得上。这个东西是参考TRS的场景式导航表现形式做的,在IE7/8、FF等...具体效果请看我的博客,或者浏览http://www.shunde.gov.cn/scene/。
一个综合运用flash,photoshop,javascript等知识的博客网站,包括音乐,日记,相册,留言等
简单仿flash动画css3个人博客模板下载_简单 动画 css3动画 个人 博客 blog 仿flash 响应式 ajax 响应式 个人主页 lightbox 摄影 图片 相册 迷你 html5