下面我就来引导大家制作一款飞机游戏把!
本教程基于FlashMX 2004英文版
本贴是主题讨论活动第一期——飞机游戏的一部分。这篇帖子面向初学者;若想一展身手,讨论更加高级的主题,欢迎在 游戏版活动第一期——一起做飞机游戏把~中参与讨论~~ 有很多积分可拿哦~~
若您是一位初学者,对Flash的基本概念还不太清楚,请看 Flash游戏初学者说的话》作者:ox_thedarkness发表于:2005-4-11 14:10:52最后发贴:
1 编辑一个mc
Flash游戏中大部分物体都是mc( MovieClip 电影剪辑)。譬如,主角、主角的子弹、敌人一般都是mc。我们对mc有很多控制权,譬如移动他、控制他播放、设置事件等等。
下面我们将制作一个mc。
首先,绘制一个矩形,用F8将他变成一个mc,名称叫 MC-主角 ,注册点选择中心。

点击确定之后,矩形就变成了一个mc,同时库(F11)中出现了一个新的项 MC-主角。
注册点是mc的重要属性,它是mc的中心,mc的很多操作都是相对于注册点的。
重要区别:使用变形工具(Q)编辑的是动画的注册点,而非mc自己注册点。mc注册点必须编辑mc本体才行。
双击场景上的那个mc,或者双击库中 MC-主角 那一项, 都可以编辑 MC-主角。编辑的时候会看到一个 * 号,这就是MC的注册点了。你不能挪动注册点,只能挪动MC内部的图形。

为了精确确定注册点的位置,有下面一些工具可以帮助大家定位:
View -> Grid ( 视图-> 网格)
View -> Snapping ( 视图->自动吸附 )
对齐工具 ( Ctrl + K )
场景上所有的mc都是库mc的实例。所以,一旦库mc改变,所有对应的实例都会改变;而每个实例有自己的属性,譬如实例名称、位置、旋转等。下面我将说明这一点。
若正在编辑场景上的mc,双击画面空白处,即可退回到主场景下。也可以在下图所示的编辑路径中跳回上级的层次。下图表明,目前正在编辑 Scene1 中的 MC-主角。
做做看看:
从库中再拖一个MC-主角到场景上,这样,场景上就有了两个方块mc。你可以用变形工具(Q)在外部编辑任意一个方块;但是若是你双击到mc内部,编辑这个mc本身,那么这两个mc以及库中mc都会改变。
在主场景下,选中一个 MC-主角 的实例,打开属性面板(Ctrl + F3) 设置实例名( InstanceName) 为 主角。

下面我们用 enterframe 控制主角的移动。
在主事件轴上加一个图层叫as。选中这个图层,打开as面板( F9 )输入如下as:
注意大小写和下划线。执行看看,主角自动向右下移动了。注意,主场景的注册点是左上角,坐标为(0,0);y轴正方向向下,x轴正方向向右。 所以,_y增大主角会往下移动。
每个mc都可以有自己的enterframe函数。系统每帧都会依次调用所有mc的enterframe,然后才刷新画面。
enterframe 是控制游戏的基本手段之一,本教程就是使用它来控制整个游戏的。
为了更直观的理解坐标,我们把当前主角的坐标输出出来。 在主角的 enterframe 代码中加上一句 trace( this._x + " " + this._y )
this表示函数的主人,也就是主角拉。
这样as层的代码就变成这样:

fps表示一个swf播放时一秒钟绘制多少帧画面。上图为Flash 默认设置,12 fps,即一秒钟播放12帧。
每帧,mc自己的时间轴会前进一格,同时系统会让所有设置了 enterframe 的mc调用自己的 enterframe 函数。
所以 fps 越高,动作越是连贯流畅。譬如上面的例子中,角色每帧水平移动5像素,一秒移动 12 x 5 = 60 像素。若是提高到30 fps而速度不变,把代码改为每帧2像素,画面就更为流畅了。 当然,若是只加大fps而代码不变,就只是快进效果。
Flash 游戏一般采用30 fps;PC上的商业游戏则要求 60 fps。当游戏由于运算量过大跑不动的时候,流畅的底线要求是24 fps。
共有 0 位网友发表了评论,得分 0 分,平均 0 分 查看完整评论