zurück / nächstes Beispiel

Hier geht es um die verschiedenen Möglichkeiten einen Registrierpunkt zu setzen.

  1. Der grüne MC wurde überhaupt nicht verändert. Sein Registrierpunkt liegt in der Mitte.
  2. Im roten MC wurde der Registrierpunkt mit dem Transformieren Werkzeug verschoben.
  3. Im blauen MC wurde der Registrierpunkt per Javascript verschoben. this.blau.regX = -30;
  4. Im orange MC wird der Registrierpunkt bei jedem mousedown Ereignis anhand der Mausposition neu gesetzt. Siehe Kommentar im Code setRegPoint

this.anzeige.text = "Verschiebe die Kreise und achte auf die Mausposition."

this.gruen.addEventListener("pressmove", dragMe.bind(this));
this.rot.addEventListener("pressmove", dragMe.bind(this));
this.blau.addEventListener("pressmove", dragMe.bind(this));
this.blau.regX = 30;

this.orange.addEventListener("mousedown", setRegPoint.bind(this));
this.orange.addEventListener("pressmove", dragMe.bind(this));

function dragMe(evt) {
	var p = this.globalToLocal(evt.stageX, evt.stageY);
	evt.currentTarget.x = p.x;
	evt.currentTarget.y = p.y;
	this.anzeige.text = "regX: " + evt.currentTarget.regX + "\nregY: " + evt.currentTarget.regY;
}


function setRegPoint(evt) {
	var reg = evt.currentTarget.globalToLocal(evt.stageX, evt.stageY);
	evt.currentTarget.regX = reg.x;
	evt.currentTarget.regY = reg.y;
	var p = this.parent.globalToLocal(evt.stageX, evt.stageY);
	evt.currentTarget.x = p.x;
	evt.currentTarget.y = p.y;
}

/*
Achte auf den orange MC.
Der Registrierpunkt wird anhand der Mausposition auf dem MC versetzt.
Punkt p und Positionierung wird auch sofort gesetzt,
damit es am Anfang nicht ruckelt
obwohl die Positionierung auch per dragMe Funktion erfolgt
*/