设为首页 加入收藏 网站搜索 繁體中文 中国建站网 — 站长资源分享平台

Flash游戏入门—飞机游戏的制作

来源:136z.Com 作者:佚名 时间:2005-06-18 23:48:22

飞机游戏是最简单的Flash游戏类型。飞机虽小,五脏俱全,它涵盖了Flash游戏制作的方方面面——判定、enterframe控制MC行为、按键检测、加载删除MC、关卡设计等等。



下面我就来引导大家制作一款飞机游戏把!

本教程基于FlashMX 2004英文版


本贴是主题讨论活动第一期——飞机游戏的一部分。这篇帖子面向初学者;若想一展身手,讨论更加高级的主题,欢迎在 游戏版活动第一期——一起做飞机游戏把~中参与讨论~~ 有很多积分可拿哦~~

若您是一位初学者,对Flash的基本概念还不太清楚,请看 Flash游戏初学者说的话》作者:ox_thedarkness发表于:2005-4-11 14:10:52最后发贴:对Flash游戏初学者说的话 ,它将引导你学习Flash。
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:


//主角的enterframe函数
主角.onEnterFrame = function (){
_x += 5; //每帧x增加5
_y += 3; //y增加3
}

注意大小写和下划线。执行看看,主角自动向右下移动了。注意,主场景的注册点是左上角,坐标为(0,0);y轴正方向向下,x轴正方向向右。 所以,_y增大主角会往下移动。

每个mc都可以有自己的enterframe函数。系统每帧都会依次调用所有mc的enterframe,然后才刷新画面。

enterframe 是控制游戏的基本手段之一,本教程就是使用它来控制整个游戏的。


为了更直观的理解坐标,我们把当前主角的坐标输出出来。 在主角的 enterframe 代码中加上一句 trace( this._x + " " + this._y )
this表示函数的主人,也就是主角拉。
这样as层的代码就变成这样:


//主角的enterframe函数
主角.onEnterFrame = function (){
_x += 5; //每帧x增加5
_y += 3; //y增加3
trace( this._x + "," + this._y );
}

执行看看,会跳出一个小窗口,不停的报出主角的当前坐标。

trace是 Flash 最常用的调试工具。


点击主场景空白处,打开属性窗口(Ctrl + F3)即可编辑主场景的属性。我们可以编辑场景的大小、fps(Frame per Second 秒间帧数)以及背景颜色。 双击这个位置也会跳出如图的面板:

按此在新窗口浏览图片

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。

Tags:

  • 好的评价 如果您觉得好,就请您
      0%(0)
  • 差的评价 如果您觉得差,就请您
      0%(0)
  • 相关文章
    广告赞助

    文章随便看看 设计素材 建站学院 网页模板 视频教程

    网友评论

    共有 0 位网友发表了评论,得分 0 分,平均 0 分    查看完整评论

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 1分

    内 容:

             通知管理员 验证码: