Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-11-2009, 16:30   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Beiträge: 84
Snap will nicht wirklich

Hallo,

ich möchte verschiedenartige Rechtecke auf ein Raster ziehen. Liegen diese nicht ganz in diesen drin, sollen sie an die richtige Position springen; wie bei Flash-Puzzelspielen.
Ich hab also in jedes Puzzelteil folgenden AS geschrieben (je nach Puzzelteil eben angepasst):

Code:
on (release) {
if (puz1._x > 13 && puz1._x < 23 && puz1._y >13 && puz1._y <23)
{
setProperty("puz1", _x,"18.0")
setProperty("puz1", _y,"18.0")
}
if (puz1._x > 67 && puz1._x < 77 && puz1._y >13 && puz1._y <23)
{
setProperty("puz1", _x,"72.0")
setProperty("puz1", _y,"18.0")
}
}
Nun habe ich noch in den Frame folgenden AS gesetzt, damit das ausgewählte und bewegte Puzzelteil immer "oben" liegt und beim bewegen nicht unter anderen Teilen hindurchtaucht.

Code:
for (var i = 1; i<=11; i++) {
	this["puz"+i].onPress = function() {
		this.startDrag();
		var dep = _root.getNextHighestDepth();
		this.swapDepths(dep);
	};
	this["puz"+i].onRelease = this["puz"+i].onReleaseOutside=function () {
		this.stopDrag();
	};
Das funktioniert auch. Leider snapen dann die Puzzelteile nicht mehr an ihre Positionen. Warum?

Lass ich diesen AS weg, der dafür sorgt dass die teile immer oben liegen und füge bei den Puzzelteilen die gewohnten startDrag & stopDrag Funktionen ein, dann gehts und die Teile snapen.

Hoffe mir kann jemand einen guten Tipp geben, wo der Wurm den Apfel zermürbt

Gruß Nick.
lordnick ist offline   Mit Zitat antworten
Alt 17-11-2009, 18:51   #2 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Beiträge: 84
Hab nun den "snap" aus den einzelnen Teilen rausgenommen und habe nun das hier:

Code:
for (var i = 1; i<=11; i++) {
	this["puz"+i].onPress = function() {
		this.startDrag();
		var dep = _root.getNextHighestDepth();
		this.swapDepths(dep);
	}
	this["puz"+i].onRelease = this["puz"+i].onReleaseOutside=function () {
		this.stopDrag();

// PUZ1 START
if (puz1._x > 13 && puz1._x < 23 && puz1._y >13 && puz1._y <23)
{
setProperty("puz1", _x,"18.0")
setProperty("puz1", _y,"18.0")
}
usw.

	}
	};
Diese ganzen if-Abfragen kann man auch in if-else oder for packen; aber wie bekomm ich das nun dynamisch für jeden Puzzelteil hin (also puz1 - puz11)? Ich kann das doch nicht elf-mal wiederholen

Geändert von lordnick (18-11-2009 um 13:17 Uhr)
lordnick ist offline   Mit Zitat antworten
Alt 18-11-2009, 13:18   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Beiträge: 84
Hat sich erledigt... hab einen ähnlichen und funktionierenden Weg gefunden. Schade dass mir hier keiner helfen konnte
lordnick ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
puzzel, snap

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
De- Snap Funktionalität will nicht... Wassim Flash 8 2 07-06-2008 14:02
Snap To IAmUnknown Flash MX 2 08-02-2003 18:58
drag snap back und dazwischen??? flasherie Flash 4 und Flash 5 2 15-01-2003 11:30
oop - nicht wirklich :) bokel Softwarearchitektur und Entwurfsmuster 16 03-03-2002 15:49
snap timeline ohne Raster?? janina ActionScript 1 6 08-01-2002 19:36


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:46 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele