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游戏的核心技术在于ActionScript 3.0(简称AS3),这是一种面向对象的编程语言,用于创建交互式内容,如网页游戏、动画以及多媒体应用。在这个“flash格斗游戏源代码”中,我们可以看到AS3如何构建一个完整的...
Flash动画是一种广泛应用于网页设计、游戏制作、教育演示和广告创作的交互式矢量图形技术。随着计算机网络技术的快速发展,掌握Flash动画设计已经成为许多人提升技能的重要选择。本文将分享学习Flash动画的心得体会...
FLASH 版俄罗斯方块游戏的开发心得包括: * FLASH 程序的熟练使用:在开发 FLASH 版俄罗斯方块游戏时,需要熟练地使用 FLASH 程序。 * Action Script 的熟练使用:在开发 FLASH 版俄罗斯方块游戏时,需要熟练地...
- **Flash软件概述**:Adobe Flash是一款强大的矢量动画创作软件,被广泛应用于网页动画、游戏开发等领域。通过该软件,用户可以创建交互式动画、视频等内容。 - **学习路径**: - **入门阶段**:熟悉Flash界面布局...
Flash是由Macromedia公司在1996年推出的一款网页动画设计软件,因其简单易用、通用性强且能制作出精致效果的特点,在中国及全球范围内广受欢迎,尤其在网络动画、游戏制作、广告设计等领域有着广泛应用。 Flash具有...
Flash是一种曾经广泛用于创建互动式网页内容、动画以及在线游戏的编程语言,其核心技术包括ActionScript(AS)。随着HTML5的兴起,Flash的使用逐渐减少,但其历史地位和学习价值依然存在,特别是对于理解交互设计和...
《Flash动物效果之蛇篇》深入解析 Flash是一款强大的矢量动画创作软件,因其...通过分析SNAKE.FLA源文件,我们可以深入理解Flash动画的制作流程和技巧,同时,借助社区资源,可以持续学习和提升自己的Flash开发能力。
- **在线游戏**:Flash曾是网页游戏的主要开发工具之一。 - **教育工具**:利用其互动特性制作教育软件和在线教程。 - **动画制作**:创作动态图像、短片及长篇动画电影。 - **用户界面**:为网站和应用程序设计美观...
Flash是一种广泛用于创建交互式动画、网页元素和多媒体应用的技术,由Adobe公司开发。在早期互联网时代,Flash因其丰富的视觉效果和动态交互性而备受青睐,常用于制作网站的欢迎页、广告和在线游戏等。 描述中的...
标签中的“Flash”是指Adobe Flash,这是一个曾经广泛用于创建网页动画、游戏和互动内容的软件。随着技术的发展,虽然Adobe已经停止支持Flash,但它在历史上的影响力不容忽视,许多经典作品仍然值得学习和借鉴。标签...
Flash是一款广泛应用于网页动画制作及游戏开发的软件。通过Flash,用户可以创建动态内容并将其嵌入到网页中。它支持矢量图形、位图图像以及音频和视频剪辑等多媒体元素。对于初学者来说,了解Flash的历史背景、工作...
ActionScfipt语言 Macromedia Flash作为网上动画制作软件佼佼者,已经广泛地运用于网页设计、广告设计、游戏开发 等基于Web的各个领域,并逐步向多媒体、影视视频、产品展示、远程教育等各种传统领 域渗透。...
"Flash"在这里指的是Adobe Flash技术,这是一种广泛应用于网页动画、游戏及视频播放的插件。在极限网络Flash系统v3.1中,Flash可能被用来提供互动式的影音内容,如在线视频播放、游戏体验等。然而,由于Flash的安全...
总的来说,Flare3D 是一款针对 Flash 3D 开发的优秀工具,尤其适合希望快速创建3D游戏和交互体验的开发者。它的全面功能和友好界面使得开发过程更加顺畅,尽管存在一些局限性,但在其适用的范围内,Flare3D 能够帮助...
Flash是一款广泛应用于创建网页动画、互动内容和小游戏的工具。它的强大之处在于能够通过ActionScript编程语言实现复杂的交互功能,同时支持矢量图形,使得内容在不同分辨率的设备上都能保持清晰。在这个"一起摇滚...
Flash是由Adobe公司开发的一个多媒体创作工具,一度被广泛用于网页动画、游戏开发、广告展示等领域。然而,随着HTML5技术的发展,Adobe公司宣布于2020年12月31日后,将不再支持Flash Player的更新与分发。 3. HTML5...
Adobe Flash CS5(Creative Suite 5)是一款由Adobe公司开发的强大矢量图形编辑软件及动画制作工具,广泛应用于网页设计、游戏开发以及多媒体内容创作等领域。通过Flash CS5,用户可以创建高质量的动画内容,包括...
在开发过程中,开发者会根据游戏公司的具体需求进行定制化调整,确保模板与公司的品牌形象和市场定位相吻合。同时,模板的响应式设计使得它能够在不同屏幕尺寸的设备上呈现出一致的视觉效果,无论是桌面电脑还是移动...