首页 > 范文大全 > 正文

Flash游戏初级套餐

开篇:润墨网以专业的文秘视角,为您筛选了一篇Flash游戏初级套餐范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

上期我们对flash几大职业类别进行了详细解读,“钱途”光明,让人向往啊!要想淘到真金,就得有真本事,下面我们就来吃一份游戏套餐,好好补充能量吧!

想一想,Flash ActionScript版本该选谁?

如果你是一个初学者,面对Flash ActionScript的几个版本――AS1、AS2、AS3等可能会比较困惑,无从下手。它们有好坏之分吗?要从哪个开始学呢?

*方便小巧的AS1、AS2

如果你只想做动画,做做简单的网站,可以点击按钮,可以相互加载,学习AS1就足够了。它方便灵活,没有什么条条框框,非常容易学,因为是面向过程的编程,你可以想到哪儿写到哪儿。

AS2只是在AS1的基础上增加了一些语法,可以让你按照比较标准的方式进行面向对象的程序开发。但Flash被编译成SWF时,内部的代码还是AS1。

*功能强大的AS3

如果你想做游戏,还有比较复杂、比较前沿的互动站点,请直接学习AS3,这是趋势,AS3有很多诱人的优势。

优势1:惊人的代码运行速度

这里用一台CPU为酷睿2 E4400的电脑进行测试。在Flash CS4中新建两个Flash文件,一个脚本设置为ActionScript2,另一个设置为ActionScript3。

在时间轴,第一帧上按F9,打开“动作帧面板”,把以下代码粘贴到里面,然后按Ctrl+Enter测试影片。

var array:Array = []

var t1:Number = getTimer()

for(var i=0; i

array[i] = "信息"

}

trace("循环数组耗时: "+ (getTimer()-t1)/1000 + " 秒")

AS2循环数组耗时13.378 秒,AS3循环数组耗时: 0.199 秒。这个结果比较极端,但你在实际使用中会发现,同样的代码,AS3的执行效率远比AS2和AS1要快得多!

优势2:便捷的XML处理功能

比如一个XML:

var myXML:XML = new XML("人名118男人名218女")

在AS2中,如果你想得到某个节点的值,需要这样写:

trace(myXML.firstChild.childNodes[0].childNodes[0].childNodes[0].nodeValue)

很麻烦,容易犯晕出错。

在AS3中可就方便了:

trace(myXML.人[0].姓名)

AS3对XML的处理非常强大和方便。

优势3:正则表达式

学过程序的人,一定都知道什么是正则表达式,从AS3开始Flash也支持正则表达式了。

正则表达式只需要一句话就可以搞定的事情,如果你用检查字符串的办法,自己分析会累死的。举几个正则表达式的例子,确实简单吧。

[\u4e00-\u9fa5]//匹配中文字符

^-?\d+$//匹配整数

^[A-Za-z]+$//匹配由26个英文字母组成的字符串

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*//匹配Email地址

除了上面说的几点,AS3的好处还有很多很多。随着FlashPlayer版本的更新,会有越来越多的新API出现,而那些新的API都是只提供给AS3使用的。也就是说,如果你想用那些新功能,只能选择AS3啦。

再综合比较一下吧!

有人说开发小项目用AS1最方便,开发时间上大概是 AS1

用AS3面向对象的做法绝对是首选,因为程序的可读性非常高。可能初期比较费时间,但这是绝对值得的。当项目完成半年甚至一年后又需要修改,或者又要做类似的项目,你就会感觉到面向对象的好处了。

尝一尝,

接触简单的Flash游戏

初学者和入门者别着急,让我们轻松尝试,与Flash亲密接触。如果不涉及复杂的算法、专业的数学知识、人工AI等等,你想实现一个简单的Flash游戏,只需知道:

1.什么是MovieClip

2.MovieClip都有什么属性

3.如何在场景中添加或删除MovieClip

4.了解数组和Object是什么、如何使用,以及如何控制文本

1.什么是MovieClip

在Flash中手绘好的素材,是无法用程序控制它们的,你也无法在时间轴上做动画,使它们动起来。如果你想做动画或者游戏,想控制那些被显示的对象(大小、颜色、角度或其他),对象必须是一个元件。选择在场景中画好的素材,然后按F8,就会出现一个对话框,询问你要把素材转化成什么元件。

元件可以是Button(按钮,是特殊的影片剪辑)、Sprite(精灵,没有时间轴)、MovieClip(影片剪辑,是具备时间轴的Sprite),当素材被转化成元件以后,你可以在库(Ctrl+L)中找到它们。这些在库中的元件,你就可以在动画中反复使用啦。

2.MovieClip都有什么属性

MovieClip属性可以参看:/yypbkj2

其中包含“公共属性”以及“隐藏继承的公共属性”。假设你的影片剪辑叫做MC,那么你通过“点语法”来控制它,并使用它的属性。使用MovieClip的“公共方法”以及“继承的公共方法”用法也是一样的。比如:

MC.x = 200//控制MC的x坐标

MC.y = 100 //控制MC的y坐标

MC.gotoAndStop(10) //控制MC停止在第几帧

MC.play() //控制MC开始播放

3.如何在场景中添加或删除MovieClip

在场景中画一个圆,之后用鼠标选择这个圆(你会看到圆上有规则排列的原点),按F8,会弹出一个窗口“转换为元件”。

请按照图的设置(名称Ball,类Ball,基类:flash.display.MovieClip),完成后点击确定。完成后,你就可以在库中看到这个Ball了。完成后把Ball从时间轴上删掉。在时间轴上绘制两个按钮,用来添加和删除(见图1)。在属性面板中,给两个按钮分别取名为bt1和bt2在场景中点空白处(见图2)。在“类”的输入框中输入DocumentClass。保存这个文件到硬盘,命名为myFirstFlash.fla。

打开FlashDevelop,新建一个as文件,保存到myFirstFlash.fla 同一个目录里,命名为 DocumentClass.as。在DocumentClass中输入如下内容:

package {

import flash.display.Sprite;

import flash.display.SimpleButton;

import flash.display.MovieClip;

import flash.events.Event;

import flash.events.MouseEvent;

public class DocumentClass extends MovieClip {

private var ballShowed:Boolean;

private var ball:Ball;

function DocumentClass() {

ballShowed = false;

bt1.addEventListener(MouseEvent.CLICK,_click)

bt2.addEventListener(MouseEvent.CLICK,_click)

}

private function _click(e:Event):void

{

switch(e.target) {

case bt1:

if (!ballShowed) {

ballShowed = true;

ball = new Ball();

ball.x = 200; ball.y = 100;

addChild(ball);

}

break;

case bt2:

if (ballShowed) {

ballShowed = false;

removeChild(ball);

}

break;

default:

break;

}

}

}

}

完成后,在Flash中Ctrl+Enter测试,即可看到运行效果了。你已经成功完成添加和删除MC的任务,还做完成了如何使用和监听按钮的鼠标事件。

4.数组和Object的使用请参阅帮助文件。如何控制文本已经在第7期刊登的“hello the word”实例中向大家介绍了。

果果点酱

世上最远的距离,是Flash爱好者拿着iPhone,却不能开发你

对于Flash,地球人是有爱的;对于iPhone,地球人也是有爱的,只可惜,Adobe和苹果之间目前无爱。

盼望着,盼望着,Flash CS5要了,本刊原计划为大家送上神奇的重力游戏DIY,只要你有Flash CS5+iPhone。

可惜,只好无奈地把这个计划取消了,因为新的iPhone开发者授权协议中写道:“应用程序仅能使用苹果规定的API,不能使用或调用任何其它API。应用程序需要以Objective-C、C、C++或JavaScript编写,只有以C、C++和Objective-C编写的代码可以直接连接到官方APIs(不允许应用程序通过中间解释程序或兼容层、工具调用官方APIs)。”

也就是说,这个声明几乎完全断绝了Adobe在苹果iPhone等产品上推广Flash的念头,之前虽然苹果不支持Flash,但是Adobe在MAX 2009大会上宣布了Packager for iPhone,Flash开发人员还可以使用它来创建本地iPhone、iPod touch和iPad应用程序,该软件包将包含在即将到来的Flash Pro CS5中。

据国外媒体报道,早在苹果iPad平板电脑之前,Adobe公司与苹果公司之间就拉开了口水战,近日iPhone OS 4.0的揭晓更是使得两家的口水战升级。乔布斯觉得Flash太低级,希望大家都改用HTML5。忽然让人想起微软当年限制Java在Windows上发展的小插曲。

好大一个饼,如今成泡影,据说Adobe四处呼喊求援去了,失望的Flash爱好者们只好一声叹息,还有转机吗?这个世界变化快,祈祷奇迹的出现吧。