Flash 脚本游戏开发教程第八课

范例接宝游戏中得分显示类和时间控制类的CLASS讲解

事实上这两部分比较简单
所以并在一起讲解了
讲解前先点开FLA文件,把这两个MC看看,对MC构造了解了,才能写CLASS嘛~

看下得分显示类的代码:

class game.Score_view extends MovieClip {
private var w1:MovieClip;
private var w2:MovieClip;
private var w3:MovieClip;
private var w4:MovieClip;
private var w5:MovieClip;
private var w6:MovieClip;
private var i:Number
//构造函数
function Score_view() {
init();
}
//公-私有方法
public function init() {
onEnterFrame = Control;
}
private function Control() {
for (i=1; i<=6; i++) {
if (i<=int(String(_root.score).length)) {
this["w"+i].gotoAndStop(int(String(_root.score).substr(i*(-1), 1))+1);
} else {
this["w"+i].gotoAndStop(1);
}
}
}
}

原理很简单,就是让这个MC一直onEnterFrame着,按照总得分来不断操控MC里的6个数字MC变化
仔细思考下Control()里的代码,想通了其实很简单哦~~
不多说了,懂了后就跟我看时间控制类的(不懂就继续看,直到看懂为止)

下面是时间控制类:

class game.Time_control extends MovieClip{
private var t:Number
public var time:Number
//------------------------------------------
/*
function Time_control(){
init()
}
*/这段被注销掉了,因为我不要它一出现在舞台就开始倒计时。什么时候倒计时,游戏控制类会给本类发出命令(调用本类中的Go()的function)
//-------------------------------------------
public function set _time(ttt:Number):Void{
time=ttt
}
public function get _time():Number{
return(time)
}
//===========================================
private function TimeGo(){
t++
if(t%30==0) time--
if(time==0) {
delete onEnterFrame
_root.game_c.endGame()
}
}//倒计时代码,当时间=0,通知游戏控制类作出endGame()的行为。
public function Go(){
t=1
time=30
onEnterFrame=TimeGo
}//初始化,并开始倒计时
}

有了前两节的基础,这节显的很简单……(感觉好像应该先教这节啊……- -……是不是难度顺序颠倒了??)
下节会讲最后的,也是很重要的类-游戏控制类,尽请期待~!

IT时代网(关注微信公众号ITtime2000,定时推送,互动有福利惊喜)所有原创文章版权所有,未经授权,转载必究。
创客100创投基金成立于2015年,直通硅谷,专注于TMT领域早期项目投资。LP均来自政府、互联网IT、传媒知名企业和个人。创客100创投基金对IT、通信、互联网、IP等有着自己独特眼光和丰富的资源。决策快、投资快是创客100基金最显著的特点。

相关文章
中芯国际联手国家队斥500亿投建12吋晶圆制造 什么信号?
中芯国际等被美列黑名单 外交部:坚决反对美方无端打压中国企业
中芯国际遭“断粮”背后:芯片产业链加速国产化
被美国列入“黑名单”?中芯国际:未收到此类官方消息

精彩评论