Was ich versuche zu tun ist, einen neuen Turm jedes Mal auf MouseX und MouseY zu setzen. aber es scheint, dass es nicht funktioniert Any Idea guys?Konnte nicht auf MausKoordinationen hinzufügen
oder wenn Sie ein TileMap-Array erstellen und jedes Mal ein neues Kind von PrototypeTower hinzufügen können, wenn wir auf den Tower klicken (auf x = 50, y = 400), um auszuwählen und zu platzieren, wo immer wir wollen. Wenn ich auf das Kästchen bei x = 50, y = 400 klicke, funktioniert das startDrag() nicht.
Main.as
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.ui.Mouse;
public class Main extends Sprite
{
private var pTower:PrototypeTower = new PrototypeTower;
private var zTower:PrototypeTower = new PrototypeTower;
private var fTower:PrototypeTower = new PrototypeTower;
public function Main()
{
pTower.x = 50;
pTower.y = 400;
addChild(pTower);
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function onAddedToStage(e:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
pTower.addEventListener(MouseEvent.CLICK, onClicked);
}
private function onClicked(e:Event):void
{
removeEventListener(MouseEvent.CLICK, onClicked);
zTower.x = mouseX;
zTower.y = mouseY;
addChild(zTower);
zTower.startDrag();
addEventListener(MouseEvent.CLICK, onPlaced);
}
private function onPlaced(e:Event):void
{
removeEventListener(MouseEvent.CLICK, onPlaced);
zTower.stopDrag();
fTower.x = mouseX
fTower.y = mouseY;
addChild(fTower);
}
}
}
PrototypeTower.as
package
{
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
public class PrototypeTower extends MovieClip
{
public function PrototypeTower()
{
this.graphics.beginFill(0x00FF00);
this.graphics.drawRect(this.x, this.y, 20, 20);
this.graphics.endFill();
}
}
}
Danke, ich total Noob bin, fragen, um von den Tagen!
"* aber es scheint, es funktioniert nicht *" was genau funktioniert nicht? – null
@null korrigieren Sie mich, wenn ich falsch liege, aber muss er nicht einen 'graphics.lineStyle' einstellen, bevor ein Rechteck gezeichnet wird? –
@Neal Davis nur, wenn Sie einen Linienstil festlegen möchten. Bei einer Füllung ohne Linie sollte kein Linienstil angegeben werden, was dem Verzicht auf den Aufruf dieser Funktion entspricht. – null