使用Flex和Actionscript开发Flash游戏

12 篇文章 0 订阅

本文将告诉你使用何种工具开发游戏以及使用Flex和Actionscript开发游戏的第一步。


入门

Adobe已经提供了你需要开发游戏的全部——Flash Player和Flex SDK。使用Flex开发游戏有以下一些优势:

- 跨平台兼容性——Flash Player支持所有的主流平台。
- 容易部署——发布一个游戏如同上传一个swf文件一样简单。
- (几乎)不需要安装——仅仅需要你的浏览器安装了Flash Player。
- 免费的工具——只需要免费的Flex SDK和一个文本编辑器即可。

本文的一系列文章将一步一步带领你使用Flex完成一个2D flash游戏开发——一个传统的竖版射击游戏。

首先第一步是下载Flex 3 SDK(http://www.adobe.com/products/flex/flexdownloads/)。这个SDK包含了所有用于编译文中源文件为网页可用swf文件的工具。同时,你也需要一个文本编辑器,我很喜欢Textpad,可以在这里下载到: http://www.textpad.com/。最后你需要下载一个debug版本的flash playerhttp://www.adobe.com/support/flashplayer/downloads.html。debug版本的flash player可以让你直接打开SWF文件而不需要为SWF创建一个网页(译者注:该说法并不准确。stand-alone版本的flash player都可以直接打开swf,而debug版本的flash player能够在运行时错误时弹出错误信息,release的则不会)。接下来,我们开始准备敲代码吧!

游戏中使用的图片元素来自spritelib库的courtsey,可以在这里下载:http://www.flyingyogi.com/fun/spritelib.html


创建应用程序

从概念上讲,Flex将一个程序分为两个部分:图形界面以及Actionscript代码。图形界面使用MXML文件,它是一种包含了用户界面元素标签的XML文件,类似于HTML。注意:尽管在MXML文件的mx:Script标签中也可以使用Actionscript代码,但是MXML主要用于定义用户界面。

MXML顶层是mx:Application标签。这里是一个Flex应用的入口,是大多数逻辑开始的地方。

main.mxml源代码

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application
  3. xmlns:mx="http://www.adobe.com/2006/mxml"
  4. layout="absolute"
  5. width="600"
  6. height="400"
  7. frameRate="100"
  8. creationComplete="CreationComplete()"
  9. enterFrame="EnterFrame(event)">
  10. <mx:Script><![CDATA[
  11. public function CreationComplete():void
  12. {
  13. }
  14. public function EnterFrame(event:Event):void
  15. {
  16. }
  17. ]]></mx:Script>
  18. </mx:Application>
复制代码

我们从定义Application object属性开始。类似HTML的写法,这些属性可以直接标注在mx:Application标签中。

width和height

指定了程序在屏幕中显示的宽高像素

framerate

指定了每秒幀数上限。默认为24,但是由于游戏需要运行得近可能流畅,建议将此值设得高一些。注意:将此值设为100并不能保证程序一直在100fps(或者说接近这个值)下运行。这个值仅仅是一个可能达到的峰值。

creationComplete

当程序创建完成后关联一个方法。我们使用这个方法作为程序入口。

enterFrame

每次屏幕重绘时执行的方法。我们使用这个方法重绘下一幀。

mx:Script标签中提供了一个可以写Actionscript代码的地方。[CDATA[]]标签仅仅表示mx:Script标签中的字符将被认为是字符,而不是XML元素。在mx:Script标签中我们添加creationComplete和enterFrame两个方法。


编译及运行

编译这个程序,需要在命令行窗口中运行mxmlc main.mxml。你可以使用Flash debug player打开生成的swf。

结果是怎样的?就是一个空窗口,什么都还没有。并不是很令人兴奋,但是这仅仅是我们的开始。在这个系列的第二篇中,我们将在屏幕上绘制一些东西。

可以这里试玩我们的游戏:http://flexfighters.sourceforge.net/flexfighters1.html
这里可以下载源代码: https://sourceforge.net/project/ ... p;release_id=631084

原文:http://www.brighthub.com/internet/web-development/articles/11010.aspx

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值