查看: 759|回复: 0

Flash游戏开发教程:第八节

[复制链接]
发表于 2009-5-15 02:05:06 | 显示全部楼层 |阅读模式
范例接宝游戏中得分显示类和时间控制类的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=107  Powered by PHPWind.com</blockquote>
回复

使用道具 举报

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
QQ客服返回顶部