分类

安卓应用安卓游戏攻略资讯

Flash

Flash MX实战精选:石头剪子布

作者:佚名 来源: JZ5U整理 日期:2005-8-21 0:16:07
  一、实例说明

  这是一个古老的游戏,几乎每个人小时候都玩过,现在用Flash编制一个游戏程序,通过这个程序,能了解一些Action的高级应用。

  二、有关知识

  绘制实例,Action编程,按钮的制作及设置,变量。

  三、制作过程

  步骤1:打开Flash,建立一个新文件。

  步骤2:从菜单栏中选择插入>添加符号(Insert>New Symbol),在出现的对话框中选图像(Graphic),命名为“gr背景”,用绘图工具在工作区画一个背景图形,如图1所示。

  提示:gr表示图像Graphic的意思,这样可以避免重名的麻烦,使用者虽然可以随意命名,但养成一个习惯有利于提高效率。

  步骤3:重复步骤2,分别制作的三个图像,命名为“gr石头”、“gr剪子”、“gr布”。 如图2所示。

图1 背景


图2 表示石头、剪子、布的三个图像


  步骤4:从菜单栏中选择插入>添加符号(Insert>New Symbol),在出现的对话框中选按钮(Button),命名为“bu石头”,出现按钮编辑窗口后,从菜单栏中选择窗口>库(Window>libuary),在库中将“gr石头”拖到舞台,这时Up帧下出现一个黑点,表示Up帧为关键帧,然后再添加其他图形,比如给图像加一个小框,下面写上文字,以使这个按钮看起来更漂亮些;鼠标单击Over帧后按F6键,插入关键帧,Over表示鼠标停留在按钮上时所显示的图像,将图形的白色外框换成灰色;设置Down为关键帧,Down表示鼠标按下按钮时所显示的图像,将白色的字填上红色;设置Hit为关键帧,Hit表示按钮的响应范围,如3所示。

图3 按钮“bu石头”的制作


  步骤5:按步骤4的方法将“gr剪子”、“gr布”分别制成按钮“bu剪子”、“bu布”。

  步骤6:从菜单栏中选择 插入>添加符号(Insert>New Symbol),在出现的对话框中选电影片段(Movie Clip),命名为“MC石剪布”,该Movie Clip共设4帧,先设第1帧为关键帧,注意,第1帧中不放置任何对象,在以后的3个帧中分别放置“gr石头”、“gr剪子”、“gr布”,右击第1帧,在Action面板选中Actions/Movie Control/stop。

  步骤7:再做两个按钮“bu重新开始”和“bu结束”,它们的功能是用来在游戏结束后,用来选择重新开始游戏和退出游戏。其中“bu重新开始”的具体做法是,在Up,Over,Down帧里写上“再战三百回合”的字样,在Hit帧里指定响应范围。如图4所示。



图4 按钮“重新开始”的制作


  “bu结束”可以用同样的方法制作。

  步骤8:回到主场景,将Layer1改名为“背景”,设置第1帧为空帧,第2帧为关键帧,并将图片“gr背景”放置在“背景”层的第2帧里。

  注:以后放入的各元素均为所在层的第2帧。

  步骤9:新建名为“按钮”的层,将按钮“bu石头”、 “bu剪子”、 “bu布”放置在这个层里。

  步骤10:新建命名为“动画” 的层,将“mc石剪布”重复两次放置在这个层里,如图5所示。

图5 按钮在背景中的位置

  因为“mc石剪布”的第1帧是空的,所以放置时只能看到一个小圆点,图中的两个小白点就是被放置两次“mc石剪布”。

  步骤11:选中左边的“mc石剪布”,在属性面板将其命名为player,在Color下拉框里选色调(Tint),将颜色值设为#FFFF00;同样的方法设置右边“mc石剪布”的实例名为computer ,在Color下拉框里选色调(Tint),将颜色值设为#FF0000。 如图6所示。

图6给场景中的电影命名


  步骤12:选择名为computer的“mc石剪布”,执行修改>变形>水平翻转(Modify>Transform>Flip Horizontal)。

  步骤13:新建图层,命名为“变量”,单击文字工具 ,在图7所示的地方加入文字框,并在文字框内输入两个数字:00,设置好字体、字号、颜色。

图7 加入文字框

  步骤14:在文字可输入的情况下,鼠标右击文字框,在弹出的菜单中选择面板>文字选项(Panels>Text options),具体设置如图8所示。

图8 文字框的设置

  步骤15:分别在“玩家胜”、“电脑胜”后加入文字框,设置同上,注意把“玩家胜”后文字框的属性(Var)设置为pla,“电脑胜”后文字框的属性(Var)设置为com。在设置文字框时注意文字框宽度要能容纳两个数字。如图9所示。

图9“电脑胜”字段属性的设置


  步骤16:鼠标右击“bu石头”,在Action面板输入如下语句:


  注:Random(3)的意思为由电脑自行从0,1,2三个数中产生一个随机数。

  步骤17:鼠标右击“bu剪子”,在Action面板输入如下语句:

on (press) {

/:totalplay = /:totalplay+1;

if (/:totalplay == 30) {

gotoAndStop (5);

} else {

/:a = random(3)+2;

if (/:a == 2) {

/:com = /:com+1;

}

if (/:a == 4) {

/:pla = /:pla+1;

}

tellTarget ("computer") {

gotoAndStop (/:a);

}

tellTarget ("person") {

gotoAndStop (3);

}

}

}

  步骤18:鼠标右击“bu布”,在Action面板输入如下语句:

on (press) {

/:totalplay = /:totalplay+1;

if (/:totalplay == 30) {

gotoAndStop (5);

} else {

/:a = random(3)+2;

if (/:a == 3) {

/:com = /:com+1;

}

if (/:a == 2) {

/:pla = /:pla+1;

}

tellTarget ("computer") {

gotoAndStop (/:a);

}

tellTarget ("person") {

gotoAndStop (4);

}

}

}

  步骤19:建立新层,命名为“结果”,设置“结果”层的第5帧为关键帧,双击第5帧,在Actions面板中输入以下语句:


  步骤20:在编程时,设置为游戏结束后如果玩家获胜则跳转到第6帧,可按图10所示设置,图中两处00为文字框,具体设置同步骤15,左边文字框属性(Var)为“pla”,右边文字框属性(Var)为“com”。打开窗口>库(Window>Library),把“bu重新开始”和“bu退出”放置在页面的右下角,右击“bu重新开始”,在Actions面板中输入以下语句:

on (press) {

gotoAndPlay (1);

}

在“bu退出”的Actions面板中输入:

on (release) {

fscommand ("quit", "");

}

图10 玩家获胜帧


  步骤22:设置“结果”层的第7帧为关键帧,在编程时,设置为游戏结束后如果电脑获胜则跳转到第7帧,可按图11所示设置,其他设置同上。

图11 电脑获胜帧

  步骤23:设置“结果”层的第8帧为关键帧,在编程时,设置为游戏结束后如果战平则跳转到第8帧,可按图12所示设置,其他设置同上。

图12 双方战平帧


  步骤24:设置“结果”层的第1帧为关键帧,双击第1帧,在Actions面板中输入以下语句:

/:pla = 0;

/:com = 0;

/:totalplay = 0;

  步骤25:设置“结果”层的第2帧为关键帧,双击第2帧,在Actions面板中加入stop语句。

  好了,现在可以用菜单栏中文件>导出影片(File>Export Movie)。

展开

文章推荐

应用推荐

网友评论