WEB开发网
开发学院图形图像Flash Flash游戏开发教程:第八节 阅读

Flash游戏开发教程:第八节

 2008-09-10 11:29:30 来源:WEB开发网   
核心提示:范例接宝游戏中得分显示类和时间控制类的CLASS讲解事实上这两部分比较简单所以并在一起讲解了讲解前先点开FLA文件,把这两个MC看看,Flash游戏开发教程:第八节,对MC构造了解了,才能写CLASS嘛~看下得分显示类的代码:class game.Score_view extends MovieClip {privat

范例接宝游戏中得分显示类和时间控制类的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
  }//初始化,并开始倒计时
}

有了前两节的基础,这节显的很简单……(感觉好像应该先教这节啊……- -……是不是难度顺序颠倒了??)

下节会讲最后的,也是很重要的类-游戏控制类,尽请期待~!

Tags:Flash 游戏 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接