蒋金阳 发表于 2009-5-15 02:05:06

Flash游戏开发教程:第八节

范例接宝游戏中得分显示类和时间控制类的CLASS讲解<br /><br />事实上这两部分比较简单<br />所以并在一起讲解了<br />讲解前先点开FLA文件,把这两个MC看看,对MC构造了解了,才能写CLASS嘛~<br /><br />看下得分显示类的代码:<br /><br />class game.Score_view extends MovieClip {<br />    private var w1:MovieClip;<br />    private var w2:MovieClip;<br />    private var w3:MovieClip;<br />    private var w4:MovieClip;<br />    private var w5:MovieClip;<br />    private var w6:MovieClip;<br />    private var i:Number<br />    //构造函数<br />    function Score_view() {<br />      init();<br />    }<br />    //公-私有方法<br />    public function init() {<br />      onEnterFrame = Control;<br />    }<br />    private function Control() {<br />      for (i=1; i&lt;=6; i++) {<br />            if (i&lt;=int(String(_root.score).length)) {<br />                this[&quot;w&quot;+i].gotoAndStop(int(String(_root.score).substr(i*(-1), 1))+1);<br />            } else {<br />                this[&quot;w&quot;+i].gotoAndStop(1);<br />            }<br />      }<br />    }<br />}<br /><br />原理很简单,就是让这个MC一直onEnterFrame着,按照总得分来不断操控MC里的6个数字MC变化<br />仔细思考下Control()里的代码,想通了其实很简单哦~~<br />不多说了,懂了后就跟我看时间控制类的(不懂就继续看,直到看懂为止)<br /><br />下面是时间控制类:<br /><br />class game.Time_control extends MovieClip{<br />    private var t:Number<br />    public var time:Number<br />    //------------------------------------------<br />    /*<br />    function Time_control(){<br />      init()<br />    }<br />    */这段被注销掉了,因为我不要它一出现在舞台就开始倒计时。什么时候倒计时,游戏控制类会给本类发出命令(调用本类中的Go()的function)<br />    //-------------------------------------------<br />    public function set _time(ttt:Number):Void{<br />      time=ttt<br />    }<br />    public function get _time():Number{<br />      return(time)<br />    }<br />    //===========================================    <br />    private function TimeGo(){<br />      t++<br />      if(t%30==0) time--<br />      if(time==0) {<br />            delete onEnterFrame<br />            _root.game_c.endGame()<br />      }<br />    }//倒计时代码,当时间=0,通知游戏控制类作出endGame()的行为。<br />    public function Go(){<br />      t=1<br />      time=30      <br />      onEnterFrame=TimeGo<br />    }//初始化,并开始倒计时<br />}<br /><br />有了前两节的基础,这节显的很简单……(感觉好像应该先教这节啊……- -……是不是难度顺序颠倒了??)<br />下节会讲最后的,也是很重要的类-游戏控制类,尽请期待~!<br /><br /><blockquote class="blockquote">From: http://www.photoep.cn/read.php?tid=107Powered by PHPWind.com</blockquote>
页: [1]
查看完整版本: Flash游戏开发教程:第八节