当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > Flash AS教程:对拖到指定区域小球计数

ActionScript
FLASH 3D相册之利用BitmapData类制作
Flash 脚本游戏开发教程 第一课
Flash 脚本游戏开发教程第二课
Flash 脚本游戏开发教程第三课
Flash 脚本游戏开发教程第四课
Flash 脚本游戏开发教程第五课
Flash 脚本游戏开发教程第六课
Flash 脚本游戏开发教程第七课
Flash 脚本游戏开发教程第八课
Flash AS实现的蝌蚪摆尾动画的教程
从基础开始深入学Flash AS3教程(4)(译文)
从基础开始深入学Flash AS3教程(5)(译文)
从基础开始深入Flash AS3教程(2)(译文)
从基础开始深入学Flash AS3教程(3)(译文)
Flash AS3对单个图片进行角色动作化处理
从基础开始深入Flash AS3教程(1)(译文)
Flash教程:if条件语句的用法
Flash AS教程:_visible属性的详细讲解
Flash AS教程:图片环绕旋转效
Flash教程:trace()的使用

ActionScript 中的 Flash AS教程:对拖到指定区域小球计数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-01   浏览: 140 ::
收藏到网摘: n/a

  今天帮网友做一个一个简单的效果,但用到了比较多的手段,所以记录一下:

  要求将小球拖到指定区域,然后计数,如图:

  时间轴:

  function mc_press(_mc:MovieClip) {

  _mc.addEventListener(flash.events.MouseEvent.MOUSE_DOWN,d_f);

  }

  function d_f(e:MouseEvent) {

  var str:String=e.target.name.slice(0,e.target.name.length-3);

  var myclass=getDefinitionByName(str);

  var my_mc=new myclass();

  my_mc.startDrag(true);

  addChild(my_mc);

  my_mc.addEventListener(flash.events.MouseEvent.MOUSE_DOWN,mc_d);

  my_mc.addEventListener(flash.events.MouseEvent.MOUSE_UP,mc_u);

  }

  function mc_d(e:MouseEvent) {

  e.target.startDrag();

  if (fang_mc.hitTestPoint(e.target.x,e.target.y)) {

  e.target.isHitTest=true;

  } else {

  e.target.isHitTest=false;

  }

  }

  function mc_u(e:MouseEvent) {

  e.target.stopDrag();

  var class_str:String=getQualifiedClassName (e.target);

  var class_name=getDefinitionByName(class_str);

  if (!e.target.isHitTest) {

  if (fang_mc.hitTestPoint(e.target.x,e.target.y)) {

  class_name.num++;

  }

  } else {

  if (!fang_mc.hitTestPoint(e.target.x,e.target.y)) {

  class_name.num--;

  }

  }

  back_txt.text=String(back.num);

  blue_txt.text=String(blue.num);

  red_txt.text=String(red.num);

  }

  mc_press(back_mc);

  mc_press(blue_mc);

  mc_press(red_mc);

  类:

  package {

  import flash.display.MovieClip;

  public class back extends MovieClip {

  public static var num:int=0;

  public var isHitTest:Boolean=false;

  public function back() {

  }

  }

  }

  package {

  import flash.display.MovieClip;

  public class blue extends MovieClip {

  public static var num:int=0;

  public var isHitTest:Boolean=false;

  public function blue() {

  }

  }

  }

  package {

  import flash.display.MovieClip;

  public class red extends MovieClip {

  public static var num:int=0;

  public var isHitTest:Boolean=false;

  public function red() {

  }

  }

  }

  类的功能很简单,主要用于计数和判断!

  桌面.rar:

桌面.rar

 

  //改进:定义一个父亲给三个类:

  package {

  import flash.display.MovieClip;

  public class color extends MovieClip {

  public var isHitTest:Boolean=false;

  public function color() {

  }

  }

  }

  package {

  import flash.display.MovieClip;

  public class back extends color {

  public static var num:int=0;

  public function back() {

  }

  }

  }

  package {

  import flash.display.MovieClip;

  public class blue extends color {

  public static var num:int=0;

  public function blue() {

  }

  }

  }

  package {

  import flash.display.MovieClip;

  public class red extends color {

  public static var num:int=0;

  public function red() {

  super();

  }

  }

  }