クラスの使用に問題があります。このチュートリアルをオンラインで使用しました:
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
{
}
}