Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-02-2009, 16:33   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2008
Beiträge: 12
Puzzle

Ich will ein Flash Puzzle machen, das heißt es gibt 4 Teile von einem Foto (linksoben, linksunten, rechtsoben, rechtsunten) die auf der rechten Seite des Flashfilms sind und die soll man an die richtige Position auf der linken Seite ziehen. Bis jetzt hab ich Drag Funktionen erstellt:

Code:
linksoben.addEventListener (MouseEvent.MOUSE_DOWN, startDragging1)
function startDragging1 (event:MouseEvent):void{
	linksoben.startDrag();
}

linksoben.addEventListener (MouseEvent.MOUSE_UP, stopDragging1)
function stopDragging1 (event:MouseEvent):void{
	linksoben.stopDrag();
}

linksunten.addEventListener (MouseEvent.MOUSE_DOWN, startDragging2)
function startDragging2 (event:MouseEvent):void{
	linksunten.startDrag();
}

linksunten.addEventListener (MouseEvent.MOUSE_UP, stopDragging2)
function stopDragging2 (event:MouseEvent):void{
	linksunten.stopDrag();
}
usw...
Das funktioniert auch gut.

Jetzt hab ich etwas geschrieben, das machen soll, dass wenn die Fotos in der richtigen Position sind, dass dann Linien (Instanzname lines) unsichtbar werden.

Zitat:
if(linksoben.x = 0 &&
linksoben.y = 0 &&
linksunten.x = 0 &&
linksunten.y = 198.3 &&
rechtsoben.x = 177 &&
rechtsoben.y = 0 &&
rechtsunten.x = 173 &&
rechtsunten.y = 198.3) {
lines.alpha = 0;
}
Stimmt das so? Ich bekomme eine Menge Fehlermeldungen...

Und jetzt will ich noch haben, dass die Fotos automatisch in die richtige Position springen, wenn sie ungefähr da sind. Mir hat jemand gesagt dass ich das so für jeden Teil des Fotos machen muss:
Code:
if(Math.abs(linksoben.x) < 10 &&
	   Math.abs(linksoben.x) > -10 &&
	   Math.abs(linksoben.y) > -10 &&
	   Math.abs(linksoben.y) < 10) {
		linksoben.x = 0;
		linksoben.y = 0;
	}
Das geht aber auch nicht... kann mir da jemand helfen?
Danke!
alex schoeberl ist offline   Mit Zitat antworten
Alt 10-02-2009, 16:38   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
generell:

- alle puzzle-teile benützen die selbe funktion
- beim programmstart vermerkt sich jedes puzzle-teil seine anfangskoordinate (xOrg=x und yOrg=y)
- danach eine funktion, die alle durcheinander bringt (x=Math.random()*spielfeldbreite y=..)

- jetzt darf der user schieben:
- beim loslassen den abstand von aktueller x/y koordinate zur anfangskoordinate berechnen. wenn dieser kleiner ist als ein mindestabstand (hier die 2. je kleiner, desto genauer muss getroffen werden), dann gilt das als getroffen.
if (Math.abs(xOrg-x) + Math.abs(yOrg-y) < 2) {
// getroffen
// eventuell das puzzle-teile noch ausrichten x=xOrg, y=..
}

das ist alles ;-)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (10-02-2009 um 16:44 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 10-02-2009, 16:52   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2008
Beiträge: 12
ok ich glaube ich verstehe das jetzt schon recht gut...

nur das mit dem random verstehe ich noch nicht so genau...

und kann ich das irgendiwe machen, dass die bilder automatisch in die genaue Position springen, wenn sie ungefähr über der Position losgelassen werden... also ich habe ein raster gezeichnet, und wenn man ungefähr über einem platz im raster loslässt, dass das bild dann "einspringt"?

Geändert von alex schoeberl (10-02-2009 um 18:04 Uhr)
alex schoeberl ist offline   Mit Zitat antworten
Alt 10-02-2009, 18:58   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
ja, immer erst ein bisschen drüber nachdenken ;-)
Angehängte Dateien
Dateityp: zip puzzle.zip (8,8 KB, 38x aufgerufen)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
automatisch position, drag, puzzle

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 16:34 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele