Flash 脚本游戏开发教程第八课
程序员文章站
2022-07-12 08:19:46
范例接宝游戏中得分显示类和时间控制类的CLASS讲解
事实上这两部分比较简单
所以并在一起讲解了
讲解前先点开FLA文件,把这两个MC看看,对MC构造了解了,才能写CLASS嘛~
看下得... 08-09-10...
范例接宝游戏中得分显示类和时间控制类的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
}//初始化,并开始倒计时
}
有了前两节的基础,这节显的很简单……(感觉好像应该先教这节啊……- -……是不是难度顺序颠倒了??)
下节会讲最后的,也是很重要的类-游戏控制类,尽请期待~!
事实上这两部分比较简单
所以并在一起讲解了
讲解前先点开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
}//初始化,并开始倒计时
}
有了前两节的基础,这节显的很简单……(感觉好像应该先教这节啊……- -……是不是难度顺序颠倒了??)
下节会讲最后的,也是很重要的类-游戏控制类,尽请期待~!