background image

  

Flash 游戏制作常用代码解析

1.获取随机数

 

  随机函数在

flash 游戏制作中很常用,例如在拼图游戏中,每次开始新的游戏时可以利用随机函数使图块获得

新的位置,试想一个千篇一律的游戏谁会有兴趣玩下去。
  现在我们有两种产生随机数的方式:

random()和 Math.random(),举例来讲,如果我们相随机赋给 x 一个 0-

5 的数,我们可以使用 x=random(6)或者 x=Math.random()*5。
  但这两种方式产生的随机数是有区别的

,用 random(6)方法返回的 x 是 0<=x<=5 的整数,而另外一种返回的 x

则是

0<=x<5 的小数。

  试着在第一帧中写入下面的

AS,并在第二帧创建内容帧以形成循环:

x = random(6);
y = Math.random()*5;
trace("x="+x+",y="+y);
  在

output 窗口中将得到以下数据:

...
x=1,y=3.66887632058933
x=2,y=4.39878350123763
x=0,y=0.522367884404957
x=3,y=2.95675310306251
x=5,y=4.03038211166859
x=2,y=0.223042098805308
...
  区别一目了然。
2.获得鼠标及 MC(MovieClip)的位置

 

  另外一个在

flash 游戏制作使用频率比较高的参数就是坐标了,鼠标的坐标和 MC 的坐标的获得方式是不同

,鼠标的坐标可以用_xmouse 和_ymouse 获得,MC 的坐标可以用 MovieClip._x 和 MovieClip._y 获得。值得注

意的是在获得坐标时要考虑实际需要的坐标值是相对的还是绝对的

,下面给出了一个典型的获得鼠标相对坐标和

绝对坐标的例子

(例 1):

  其中浅色的正方形是一个被命名为

mc 的 MovieClip,四个文本框属性均被设置为 Dynamic Text(请参阅

Flash MX 

文本工具详解

),场景中的两个用于获得变量 x_timeline 和 y_timeline(绝对坐标),正方形中的两个用于

获得变量

x_movieclip 和 y_movieclip(相对坐标),为了获得变量,需要在文本框的属性面板中的 Var 属性中分别填

入相应的变量名

,与上面例子形成循环的方式一样,在第一帧中写下面的 AS,第二帧创建为内容帧:

x_timeline = _root._xmouse;
y_timeline = _root._ymouse;
x_movieclip = mc._xmouse;
y_movieclip = mc._ymouse;
  注意:场景的坐标原点为其左上角

,坐标值向右向下递增,为正值(这与我们通常意义的坐标并不相同);MC 的

坐标原点是编辑

MC 时的中心,坐标象限见图 1.

—2—