Linie zeichnen lassen

ISO 9891

Grünschnabel
Hallo allerseits

Hier schreibt ein Anfänger.
Ich wollte in Flash einen Line zwischen zwei Punkten zeichnen lassen. Nebenbei soll die auch noch anti-aliased sein, aber darum dreht sich meine Frage nicht. Das ist eine Uni-Übung und irgendwas muss ich ja auch noch selber leisten.

Im Fenster wird ein Gitter ausgegeben. Beim ersten Klick wird ein Kästchen eingefärbt. Beim zweiten Klick soll wieder das darunter liegende Kästchen eingefärbt werden und zusätlich eine Linie vom ersten zum zweiten Kästchen gezeichnet werden.
Klingt einfach, oder?



Code:
		private function ClickHandler(event:Event):void {
			var rect:Point = new Point(
				Math.floor(mouseX / cellWidth),
				Math.floor(mouseY / cellHeight)
			);
			
			CountClicks += 1;
			
			if (CountClicks % 2 == 1) {
				DrawPixel(rect, 1);
				var oldRect:Point = new Point(
				Math.floor(mouseX / cellWidth),
				Math.floor(mouseY / cellHeight)
				);
				
			}else {
				DrawPixel(rect, 1);
				DrawLine(oldRect, rect);
			}
		}

Die andere Methode, die hier eine Rolle spielt:
Code:
		private function DrawLine(start:Point, end:Point):void {
			canvas.graphics.lineStyle(2, 0x000000, 100);

			canvas.graphics.moveTo(start.x, start.y);
			canvas.graphics.lineTo(end.x, end.y);
		}

Die Kästchen werden einwandfrei gefärbt, aber es wird keine Linie gezeichnet, stattdessen kommt eine Fehlermeldung:
Error #1009: Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich.

Wenn ich statt start.x /y und end.x/y irgendwelche Werte einsetze, zeichnet er.

Jetzt die eigentlichen Fragen:
1.) Wie bekomme ich von einem Punkt die X und Y Koordinate? Weil FlashDevelop es mir anbot, habe ich start.x versucht. war das falsch?
2.) Liegt der Fehler in der Methode ClickHandler? Wie kann ich dort der Methode DrawLine einen Wert übergeben, sodass er ihn auch annimmt?

Ich hoffe, dass sich meine Fragen mit endlichem Aufwand lösen lassen.
Entschuldigt, falls es zu ungenau war.
und Danke im voraus

ISO
 
Alles klar

Jetzt klappt es. Hat zwar ein bisschen gedauert, aber wenigstens geht es jetzt. Er zeichnet eine Line von A nach B. Woah, wie toll.
Das kommt eben davon, dass ich gar keine Ahnung von all dem habe.

Ein wirklich gutes Tutorial dafür habe ich auch noch nicht gefunden.
 
Zurück