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

ActionScript
FLASH AS3与网页JS参数值传递的问题
Flash AS3的parameters对象处理网页参数
Flash教程 认识Flash ActionScript的环境
Flash ActionScript编程基础
Flash AS3代码实现鼠标跟随喷枪涂鸦效果
falsh 跨域调用配置
Flash AS3.0 实例教程 喷泉动画特效
AS3 Loader与URLLoader的比较
ColorTransform类调整显示对象的颜色值
Flash AS3 快速制作烟雾动画
Flash AS3 制作文字飞出动画
ActionScript 学习小心得
ActionScript3.0读取网页FlashVars中的参数的问题
通过实例学习AS3.0:案例三
通过实例学习Flash AS3.0:案例四
通过实例学习Flash AS3.0:案例五
通过实例学习Flash AS3.0:案例六
Flash教程:认识Flash ActionScript的环境
Flash as入门(1):认识AS面板
Flash as入门(3):AS基本语法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-01   浏览: 131 ::
收藏到网摘: 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();

  }

  }

  }