Flash 脚本游戏开发教程第五课
脚本之家
搞了半天的鸟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.一些初始化设定(刚开始出现的坐标,移动速度)
宝物:
- 按随机速度下落,落出屏幕消失
- 碰撞检测,是否碰到人物
- 碰到人物后产生加分、加时间等不同的效果
- 初始化设定(刚开始出现的坐标,移动速度)
分数:
1.显示分数
时间:
- 30秒倒计时,显示时间变化
- 到了0秒,通知‘游戏控制’执行‘结束游戏’的function
游戏控制:
很重要的部分,要控制协调以上几个元素之间的关系,以及游戏的过程。
集合了很多种function供调用
以下规整下包含的function
- 人物选择:按照人物选择框的选择,attach人物MC到舞台(人物attach进来后,就会自动按照他自己的CLASS行动啦),同时调用‘掉宝控制’的function开始掉宝以及‘时间控制’里倒计时方法,开始30秒倒计时。
- 掉宝控制:按照随机时间间隔,随机的attach宝物种类到舞台(一样~!宝物attach进来后,就会自动按照他自己的CLASS行动)
- 金币消失:这个funtion要在时间到0时被调用,作用是让屏幕上的金币原地消失
- 游戏结束:这个function是被‘时间控制’里当时间=0的时候调用的,作用为判断比较当前得分和最高分,显示框出现显示最高分。
说了那么多,不知道大家思路跟不跟的上
按我说的仔细思考下吧
要直到能理解我说的,才能继续看下一小节。
下一小节开始,我要一个个放出各个CLASS的具体代码了,并进行详解,请时刻关注哦!
附:
编写好的CLASS怎么关联到MC?
就拿上节例子Time_control.as来说吧,要关联到库里的元件'时间'
老鼠右击元件'时间',然后……
见图:
如果是自己拖到舞台上,“第一帧导出”就不选
如果是attach上舞台,则就要选哦