关于在actionscript 3中定位类创建的显示对象的简单问题

时间:2011-03-16 01:01:08

标签: actionscript-3

上课:

    package  {
    import flash.display.MovieClip;

    public class test extends MovieClip {

        public function test(parentMC) {
            var s=new MovieClip()
            s.graphics.lineStyle(1,0x000000,1)
            s.graphics.drawCircle(200,200,100)
            parentMC.addChild(s)
        }

    }

}

为什么以下代码不会移动创建的圆圈,我该怎么做呢?

var s=new test(stage)
s.x=500

谢谢!

2 个答案:

答案 0 :(得分:2)

请改为尝试:

package  

{
    import flash.display.Sprite;

    public class Test extends Sprite   
    {

        public function Test() 
        {
            graphics.beginFill(0xFF0000);
            graphics.lineStyle(1,0x000000,1);
            graphics.drawCircle(200,200,100);
            graphcis.endFill();

        }// end function

    }// end class

}// end package

并像这样实现:

var test:Test = new Test();
test.x = 500;
addChild(test);

问题是你没有将Test的类的本地显示对象(在Test类的构造函数中)添加到Test显示对象容器,而是将它添加到{{1}显示对象容器。

答案 1 :(得分:0)

我很确定你没有从你的功能中回复“s”。

public function test(parentMC) {
            var s=new MovieClip()
            s.graphics.lineStyle(1,0x000000,1)
            s.graphics.drawCircle(200,200,100)
            parentMC.addChild(s)
            return s; // THIS IS MISSING
        }