0

我正在尝试从一个类中绘制一个影片剪辑对象并将其直接输出到屏幕上。不用说,我对 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 函数放入主脚本中它可以正常工作,但如果我从类中调用它则没有任何反应。

任何意见,将不胜感激。谢谢!

4

1 回答 1

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 文件中引用它。

于 2013-09-29T06:06:04.853 回答