[Flash动画制作ActionScript教程]Flash 脚本游戏开发教程第八课

分类:Flash动画制作    发布时间:2017年05月29日    点击:1239次

[Flash动画制作ActionScript教程]Flash 脚本游戏开发教程第八课:


Flash动画制作ActionScript教程]Flash 脚本游戏开发教程第八课.jpg

  范例接宝游戏中得分显示类和时间控制类的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

  }//初始化,并开始倒计时

  }

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

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

推荐阅读:

三维工程施工演示动画:舰艇起重搬运车动画合成制作

武汉公益动画制作:又见到你抗洪抢险

7月新番《洁癖男子!青田君》制作阵容公开

最近发表
标签列表