| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #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();
} 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:
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;
} Danke! | |
| | |
| | #2 (permalink) |
| Techniker 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) |
| | |
| | #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) |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
ja, immer erst ein bisschen drüber nachdenken ;-)
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| automatisch position, drag, puzzle |
| Themen-Optionen | |
| Ansicht | |
| |