手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网页制作>Flash>列表

关于AS1.0、AS2.0和java

来源:互联网 作者:west263.com 时间:2008-04-02
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

  问题:创建两个位置大小颜色各不同的可拖拽的矩形。

  方法一:method1.fla //ActionScript 1.0

  //Flash Player 6(含)以上

  //ActionScript 1.0或ActionScript 2.0均可
createEmptyMovieClip ("rectangle1_mc", 1);

  rectangle1_mc._x = 10;

  rectangle1_mc._y = 10;

  with (rectangle1_mc) {

  beginFill (0xff0000, 100);

  moveTo (0, 0);

  lineTo (200, 0);

  lineTo (200, 200);

  lineTo (0, 200);

  endFill ();

  }

  rectangle1_mc.onPress = startDrag;

  rectangle1_mc.onRelease = rectangle1_mc.onReleaseOutside = stopDrag;

  //

  createEmptyMovieClip ("rectangle2_mc", 2);

  rectangle2_mc._x = 50;

  rectangle2_mc._y = 50;

  with (rectangle2_mc) {

  beginFill (0xffcc00, 100);

  moveTo (0, 0);

  lineTo (400, 0);

  lineTo (400, 100);

  lineTo (0, 100);

  endFill ();

  }

  rectangle2_mc.onPress = startDrag;

  rectangle2_mc.onRelease = rectangle2_mc.onReleaseOutside = stopDrag;


  方法二:method2.fla //ActionScript 2.0

  //Flash Player 6(含)以上

  //必须为ActionScript 2.0
var rect1:Rectangle = new Rectangle (this, 10, 10, 200, 200, 0xff0000, 1);

  var rect2:Rectangle = new Rectangle (this, 50, 50, 400, 100, 0xffcc00, 2);

  delete rect1;

  delete rect2;

  delete Rectangle;


  此方法必须得有一个Rectangle.as和之同路径。Rectangle.as内容如下:
class Rectangle extends MovieClip {

  private var rectangle_mc:MovieClip;

  public function Rectangle (target:MovieClip, x:Number, y:Number, w:Number,

  h:Number, color:Number, depth:Number) {

  rectangle_mc = target.createEmptyMovieClip ("rectangle_mc" depth, depth);

  rectangle_mc._x = x;

  rectangle_mc._y = y;

  with (rectangle_mc) {

  beginFill (color, 100);

  moveTo (0, 0);

  lineTo (w, 0);

  lineTo (w, h);

  lineTo (0, h);

  endFill ();

  }

  rectangle_mc.onPress = startDrag;

  rectangle_mc.onRelease = rectangle_mc.onReleaseOutside = stopDrag;

  }

  }


  方法三:method3.java //假如.java也能够直接编译.swf的话
public class method3{

  public static void main(String[] args){

  Rectangle rect1 = new Rectangle (this, 10, 10, 200, 200, 0xff0000, 1);

  Rectangle rect2 = new Rectangle (this, 50, 50, 400, 100, 0xffcc00, 2);

  //这里就无需手动delete了,因为java有垃圾回收器,他会自动清除。

  }

  }

  class Rectangle extends MovieClip {

  private MovieClip rectangle_mc;

  public Rectangle (MovieClip target, Double x, Double y, Double w, Double h,

  Double color, Double depth) {

  rectangle_mc = target.createEmptyMovieClip ("rectangle_mc" depth, depth);

  rectangle_mc._x = x;

  rectangle_mc._y = y;

  with (rectangle_mc) {

  beginFill (color, 100);

  moveTo (0, 0);

  lineTo (w, 0);

  lineTo (w, h);

  lineTo (0, h);

  endFill ();

  }

  rectangle_mc.onPress = startDrag;

  rectangle_mc.onRelease = rectangle_mc.onReleaseOutside = stopDrag;

  }

  }


  通过比较不难发现,ActionScript 1.0最灵活、最简单、最容易理解。但重复类似的操作时也会最繁琐。假如要画1000个位置大小颜色各不同的矩形的话,不累死也会被笑死! ActionScript 2.0则很系统,单独用Rectangle.as定义了一个矩形类,使用时new即可,爽!有点小小的遗憾的是有几行delete,当然您也能够不加,让他永远霸占您的内存。再看看java,看完了又看,看完了再看,呵呵! 啥也不说了,谁老大肯定有人知道。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!