1

クラスの使用に問題があります。このチュートリアルをオンラインで使用しました:
http://www.youtube.com/watch?v=ALqGYMsRWxw

私の問題は、ステージ上でオブジェクトを使用しているこのチュートリアルにあります。私がやりたいことは、コードの外からオブジェクトを追加し、これとまったく同じコードを使用することです。ステージが空になり、プロジェクトを実行すると、ドラッグできるオブジェクトが追加されます。

Game.as(これは私のクラスをインポートする場所です)

package
{
    import flash.display.MovieClip;

    import classes.tools.Tools;
    import classes.tools.ToolType1;

    public class Game extends MovieClip
    {       
        var tool1:classes.tools.ToolType1 = new classes.tools.ToolType1();

        public function Game()
        {           
            addChild(tool1);

        }
    }
}

Tools(これは、チュートリアルでは DraggableShirt と呼ばれるものです)

package classes.tools
{
    import flash.display.MovieClip;
    import flash.events.MouseEvent;
    import flash.geom.Point;

    public class Tools extends MovieClip
    {           
        var originalPosition:Point;

        public function Tools()
        {           
            originalPosition = new Point(x,y);
            buttonMode = true;
            parent.addChild(this);

            this.addEventListener(MouseEvent.MOUSE_DOWN, drag);

        }
        // als je de muis indrukt dan pak je een voorwerp op
        function drag(evnt:MouseEvent):void
        {       
            stage.addEventListener(MouseEvent.MOUSE_UP, drop);
            this.startDrag();
            //scaling
            this.scaleY = 1.5;
            this.scaleX = 1.5;
        }
        // als je de muis loslaat laat je het voorwerp los
        function drop(e:MouseEvent):void
        {
            //positioning van de tools
            //Delete knop

            //bewerk knop
            stage.removeEventListener(MouseEvent.MOUSE_UP, drop);
            stopDrag()  

            if(dropTarget)
            {
                if(dropTarget.parent.name == "trash")
                {

                }
                else
                {
                    returnToOriginalPosition();
                }
            }
            else
            {
                returnToOriginalPosition();
            }           
        }
        function returnToOriginalPosition():void
        {
            x = originalPosition.x;
            y = originalPosition.y;
            this.scaleX = 1;
            this.scaleY = 1;
        }
    }
}

ToolType1(これは、チュートリアルでは WhiteShirt/BlackShirt と呼ばれるものです)

package classes.tools
{
    public class ToolType1 extends Tools
    {   
    }
}
4

1 に答える 1

0

3のビデオ1をざっと見た後、私はあなたがすでにそれを手に入れていると思います。彼は自分のものをステージに置くだけで、簡単にテスト/表示できます。

あなたが探しているのは、次の行に沿ったコードです。

var WhiteShirt:Class = getDefinitionByName('WhiteShirt') as Class;
var myShirt:WhiteShirt = new WhiteShirt();
myShirt.x = 100;
myShirt.y = 200;
addChild(myShirt);

最初の行が必要かどうかはわかりません。これは、swfs間でやり取りする文字列を含むクラスを使用していたときに使用したものです。それがなくても機能するかどうかを確認してください。それ以外の場合はそのままにしてください。(このコードはflaファイル、またはflaファイルに添付された「Main.as」ファイルに含める必要があることに注意してください)

于 2012-11-13T11:04:55.063 に答える