ActionScript中的编码我发现了一个我无法解决的错误。我有一个带有库的Flash文件,其中我有一个名为" SpriteGraphic"的MovieClip对象。 (它的链接和它的类名也是" SpriteGraphic")
现在我有一个外部类,我希望在其中拥有该对象的实例:
package {
import flash.display.Stage;
import flash.geom.Point;
import flash.display.MovieClip;
public class Object
{
var spriteGraphic:SpriteGraphic;
var velY:Number;
var velX:Number;
var IA:Number;
public function Object(posInit:Point, vel:Number , parAngle:Number, stageObj:Stage):void
{
spriteGraphic = new SpriteGraphic();
spriteGraphic.x = posInit.x;
spriteGraphic.y = posInit.y;
trace(spriteGraphic.x);
IA = parAngle;
velX = -vel * Math.cos(IA);
velY = vel * Math.sin(IA);
stageObj.addChild(spriteGraphic);
}
...
当我执行输出时,spriteGraphic为空。 如何使用库中的MovieClip,并在外部类中使用该类型的变量?
非常感谢!
没有人?真? :C
答案 0 :(得分:0)
我假设Object是一个保留字。尝试为您的班级使用不同的名称。
同样,您的构造函数不应该有返回类型。虽然编译器不会警告您,但从技术上讲,将其键入void是错误的。
package {
import flash.display.Stage;
import flash.geom.Point;
import flash.display.MovieClip;
public class MyObject
{
var spriteGraphic:SpriteGraphic;
var velY:Number;
var velX:Number;
var IA:Number;
public function MyObject(posInit:Point, vel:Number , parAngle:Number, stageObj:Stage)
{
spriteGraphic = new SpriteGraphic();
spriteGraphic.x = posInit.x;
spriteGraphic.y = posInit.y;
trace(spriteGraphic.x);
IA = parAngle;
velX = -vel * Math.cos(IA);
velY = vel * Math.sin(IA);
stageObj.addChild(spriteGraphic);
}