Actionscript:在类中创建一个Movie Clips

时间:2013-09-29 06:00:01

标签: actionscript-3 actionscript

我正在尝试从类中绘制一个影片剪辑对象,并将其直接输出到屏幕上。毋庸置疑,我对动作也很新。这是我的班级:

class Class.player {
  function create() {
    _root.createEmptyMovieClip("ship", _root.getNextHighestDepth());
    ship._x = 200;
    ship._y = 390;
    ship.beginFill(0xFF00AA);
    ship.moveTo(-20, -12);
    ship.lineTo(20, -12);
    ship.lineTo(20, 12);
    ship.lineTo(-20, 12);
    ship.lineTo(-20, -12);
    ship.endFill();
  }
}

这是我用来导入,调用和执行它的代码。

import Class.player;
var Player:player = new player();
Player.create();

没有错误消息,如果我将create函数放入主脚本中它会正常工作,但是如果我从类中调用它就没有任何反应。

任何建议都将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

我建议您阅读这篇文章来帮助您:http://brianchau.wordpress.com/2008/01/15/targeting-movieclip-from-an-as3-class-file/

该网站的主要代码是:

package
{
 import flash.display.MovieClip;

 public class Test extends MovieClip
 {
  public static var blackbox_mc:MovieClip = new BlackBox();

  public function Test()
  {
   this.stage.addChild(blackbox_mc);
   var myTest:Control = new Control();
  }
 }
}

使用以下代码创建Control.as类文件:

package
{
 public class Control
 {
  public function Control()
  {
   Test.blackbox_mc.y = 100;
  }
 }
}

技巧是创建一个静态变量,以便可以从Control.as文件中引用它。