2013-09-29 23 views
0

我试图从类内绘制影片剪辑对象,并直接将其输出到屏幕上。不用说,我对actionscript相当陌生。这是我的班级:Actionsapt:在类中创建影片剪辑

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(); 

没有错误消息,如果我放在创建函数到主脚本它工作正常,但没有任何反应,如果我把它从类中。

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

回答

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

+0

非常感谢,帮助! – Tom

+0

当然可以!任何时候! – Domecraft