当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > Flash 脚本游戏开发教程第五课

ActionScript
FLASH 3D相册之利用BitmapData类制作
Flash 脚本游戏开发教程 第一课
Flash 脚本游戏开发教程第二课
Flash 脚本游戏开发教程第三课
Flash 脚本游戏开发教程第四课
Flash 脚本游戏开发教程第五课
Flash 脚本游戏开发教程第六课
Flash 脚本游戏开发教程第七课
Flash 脚本游戏开发教程第八课
Flash AS实现的蝌蚪摆尾动画的教程
从基础开始深入学Flash AS3教程(4)(译文)
从基础开始深入学Flash AS3教程(5)(译文)
从基础开始深入Flash AS3教程(2)(译文)
从基础开始深入学Flash AS3教程(3)(译文)
Flash AS3对单个图片进行角色动作化处理
从基础开始深入Flash AS3教程(1)(译文)
Flash教程:if条件语句的用法
Flash AS教程:_visible属性的详细讲解
Flash AS教程:图片环绕旋转效
Flash教程:trace()的使用

ActionScript 中的 Flash 脚本游戏开发教程第五课


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-16   浏览: 166 ::
收藏到网摘: n/a

搞了半天的鸟CLASS,我们又回到了做游戏的内容上来。

咱们学那么多知识,目的也只为了更好的来做游戏。这个游戏吧,前面也有朋友说到了,根本不用CLASS,做个单个FLA文件F9按了猛打代码,然后MC里点开了东鸟点代码,西鸟点代码,也能完成。没错,确实这样。

我自己相当长一段时间内也是不懂CLASS之流,只用一个FLA文件,代码全死敲里面,也做出不少洋洋得意自以为是的小游戏。

我自己本身就不是科班出身的鸟,当年差了十分没能进计算机系,错过了接受正规编程教育的大好光阴。(不过事后发现世界是奇妙的,我做过几个单位从事正职编程的都不是计算机系毕业的)

但当小游戏逐渐变成大游戏后,一个FLA里,root里,MC里代码开始多起来,关系开始复杂起来,于是制作者头也开始大起来,直接影响到睡觉睡不好,饭也吃不好,肠胃不通,消化不良,上班没精神……
于是,就必须要正规的,能让脑子清醒的,能轻松分辨游戏里各类关系的开发方法。
再于是,我每天买瓶水,学习了CLASS方面的知识。(日,学CLASS和买水有啥关系??)

话题扯远了,让我们再次回到接宝上来。
一楼那个我做的简单范例SWF大家看过了没?
什么?没?
赶快去下了,试着玩玩。给你5分钟,玩好再继续往下看。

……(5分钟的等待)

好,试玩过了对吧?
我现在问你,要你分析游戏里的逻辑关系,你怎么分析?
给你5分钟思考。

……(5分钟的等待)

是不是:天上不间断掉宝-当地下人物碰到宝,就获得相应的奖励。时间到就结束游戏。
是这样的。

但我思考问题,是按:
1.游戏时画面上有几大元素?(MC)
2.每个MC要实现什么功能?
从每个MC的角度来思考分析游戏的构成。
你也要习惯这样,因为我们以后要从MC的角度来编写CLASS,每类MC都会有个对应的CLASS类来告诉这个MC在游戏中该做什么。
各个MC拼合起来,就成了一个游戏。
简单游戏和复杂游戏的一个区别,就是游戏里元素多少,元素多了,逻辑复杂,元素少了,逻辑简单。

好,请鸟鸟们继续思考,接宝游戏里有几大元素(MC)?它们各自要做点什么?
给你10分钟……

……(10分钟的等待)

见图:




公布答案

       
  1. 人物
  2.    
  3. 宝物
  4.    
  5. 分数(右上角)
  6.    
  7. 时间(左上角)
  8.    
  9. 游戏总控制(包括选人、最后最高分显示)

每类各自要做的事情:

人物

1.能够左右按键移动控制移动
2.移动范围限定(不能跑出屏幕吧?)
3.按上键技能
4.一些初始化设定(刚开始出现的坐标,移动速度)

宝物

       
  1. 按随机速度下落,落出屏幕消失
  2.    
  3. 碰撞检测,是否碰到人物
  4.    
  5. 碰到人物后产生加分、加时间等不同的效果
  6.    
  7. 初始化设定(刚开始出现的坐标,移动速度)

分数

1.显示分数

时间

       
  1. 30秒倒计时,显示时间变化
  2.    
  3. 到了0秒,通知‘游戏控制’执行‘结束游戏’的function

游戏控制

很重要的部分,要控制协调以上几个元素之间的关系,以及游戏的过程。
集合了很多种function供调用
以下规整下包含的function

       
  1. 人物选择:按照人物选择框的选择,attach人物MC到舞台(人物attach进来后,就会自动按照他自己的CLASS行动啦),同时调用‘掉宝控制’的function开始掉宝以及‘时间控制’里倒计时方法,开始30秒倒计时。
  2.    
  3. 掉宝控制:按照随机时间间隔,随机的attach宝物种类到舞台(一样~!宝物attach进来后,就会自动按照他自己的CLASS行动)
  4.    
  5. 金币消失:这个funtion要在时间到0时被调用,作用是让屏幕上的金币原地消失
  6.    
  7. 游戏结束:这个function是被‘时间控制’里当时间=0的时候调用的,作用为判断比较当前得分和最高分,显示框出现显示最高分。

说了那么多,不知道大家思路跟不跟的上
按我说的仔细思考下吧
要直到能理解我说的,才能继续看下一小节。

下一小节开始,我要一个个放出各个CLASS的具体代码了,并进行详解,请时刻关注哦!

编写好的CLASS怎么关联到MC?
就拿上节例子Time_control.as来说吧,要关联到库里的元件'时间'
老鼠右击元件'时间',然后……

见图:

如果是自己拖到舞台上,“第一帧导出”就不选
如果是attach上舞台,则就要选哦