免费发需求
发布你的需求,坐等服务商上门
  • 需求发布后
    1小时内收到服务商响应
  • 每个需求
    平均有10个服务商参与
  • 95%以上的需求
    得到了圆满解决
  • 所有需求
    不向雇主收取任何佣金
立即发布需求
或者

flash 网游开发应掌握哪些技术

发布时间:2013-08-12 14:41:03分享到:

随着flash的不断发展,各类flash相关项目的开发已经变得炙手可热。现在网络上兴起了一批做lash 网游开发的威客,他们不仅精通开发,还为许多需求者提供过服务,最近,小编就走访了全国最大的威客网猪八戒网,其中一位威客“平凡人”告诉为小编讲述了作为flash 网游开发人员,应熟练掌握哪些基础技术:

1显示

  一个游戏离不开显示,AS3已经为开发者提供了一个比较完整的2D显示引擎了。学习这个部分,学习显示列表,学习DisplayObject和DisplayObjectContainer的区别,学习Shape, Sprite, MovieClip, Bitmap这些基本可显示对象的区别。

2.鼠标输入

  交互就离不开用户输入的处理,鼠标是游戏中最常用的输入设备。需要知道只有继承自InteractiveObject的对象才能接收鼠标消息。还要学习如何使用鼠标拖拽,如何判定鼠标消息产生的目标,如何启用,禁用鼠标消息。鼠标坐标的全局和局部的转换。

3.键盘输入

  键盘除了标准UI组件内部会用到,游戏的快捷键等功能也需要用到。

4.位图

  作为游戏开发,可能不是所有的美术素材都是在开发阶段就固定的,或多或少需要在游戏过程中对图形进行一些变换处理。因此需要熟练掌握Bitmap和BitmapData对象。

5.层

  作为MMORPG游戏,不同可视对象之间是有层次关系的。不同层的关系是固定的,比如地面层,人物层,UI层。同一层上的物体重叠时,需要通过修改在显示列表中的相对位置来调整上下关系。

6.UI组件

  按钮,输入框,文本框,下拉框,列表,表格。这些在游戏中都少不了。为了游戏画面的美观和风格一致,通常都需要修改标准组件的皮肤,才能应用到游戏中。

7.资源加载

  大家都知道,传统客户端MMORPG游戏,动辄几百M上G的尺寸,大部分都是媒体资源,我们不可能把这些资源都打到一个SWF文件中,因此需要根据资源的重要程度来决定加载策略。最常用最基本的,程序启动时加载;其他的,可以在游戏过程中动态加载。

8.事件机制

  作为新人,或多或少都会用到addEventListener方法。作为大型系统开发者,一定要知道这个方法背后的IEventDispatcher接口和EventDipatcher类。使用事件机制进行开发,一方面为了降低代码之间的耦合,另外也是方便了多人协作开发。

9.远程通讯

  作为MMORPG的通讯方案,需要考虑效率和安全性。由于服务器端我们很熟悉Java的Socket开发,而且看到了AS3的Socket类,于是毫不犹豫的选择了使用私有协议的通讯方式。作为MMORPG,基于HTTP的协议效率肯定比直接基于TCP的二进制协议低。另外,基于HTTP方式,不太适用于服务器向客户端推消息的情景。AS3的其它通讯方式我了解的不太清楚,不知道是否有在灵活性,安全性,性能方面超越Socket方案的。

10.性能优化

  作为商业游戏,需要考虑到玩家环境的千差万别,因此系统的很多效果都需要有参数可以控制,使得程序能流畅的运行于玩家的机器上。作为Flash网游,需要考虑客户端的内存占用和CPU使用,需要考虑服务器的流量和客户端到服务器的带宽。

11.多线程

  首先,Flash没有多线程,是一个单线程,如果有时候需要实现类似开一个线程进行耗时的复杂计算时,可以将这个计算封装成一个类,提供一个step方法,每掉用一次step,执行若干步计算,手工为代码分配时间片。用这种方法来模拟多线程。

12.高级知识(js/jsfl/swf格式/加扰/虚拟机运行机制)

  作为一款产品,在开发过程中还有很多细节需要考虑。

  比如使用ExternalInterface与JS通讯。Web游戏,离不开网页的,偶尔还是会与网页有些交互的。

  使用JSFL批量生成或者处理Fla项目文件。游戏中大量的资源的格式是类似的,如果完全由人工,需要大量重复劳动。幸好Flash提供了JSFL的扩展,帮我们节约了大量的人工。

  对SWF格式的理解。有些工作,由于JSFL的可编程性比较差,无法完美实现,我们还编写程序直接对SWF文件进行操作。曾经有一个需求,需要四个人花一周时间才能搞定,而且还很容易出错,后来写了JSFL脚本,外加编程直接处理SWF,每次进行类似的工作,只需要一个人几分钟人工,程序跑1个小时就搞定了。

  商业产品发布时,还是要代码加扰的。现在反编译先锋Sothink4/ASV6已经问世,但是AS3加扰的工作还远远落后于反编译的步伐。我们这些Flash开发人员很着急呀。

13.算法

  算法对于游戏开发还是很有用的。有时候是效率的提升,有时可能是01的区别。

熟练掌握这些flash 网游开发的基础技术可能会成为你开发的起点。据这位猪八戒网的威客介绍,他在做威客之前也是一家公司的开发人员,后来通过猪八戒网这个平台他找到了了自己的人生方向,现在他已经辞掉了工作成为了一名职业威客,他告诉小编,这个平台让让他找到了自己的价值,也认识了许多精通开发的朋友,他觉得选择做一名猪八戒网的开发类的威客是正确的。

相关文章