Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-01-2006, 15:32   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Ort: Essen
Beiträge: 5
Probleme AS "Hit Test" bei mehreren Objekten

Hallo, habe die Suchenfunktion benutzt und nichts passendes gefunden ...

Ich möchte so etwas ähnliches wie eine Image-Map erstellen. Eine Ani soll mit der Maus mit startDrag gezogen werden und dann auf einem Punkt einrasten. Zeitgleich soll in einem dynamischen Textfeld der Name des Punktes eingeblendet werden. Das klappt nur bedingt, da nur der im AS zuletzt angelegte Punkt den Text zeigt.

Danke euch schon 'mal im Voraus!

Hier ist mein Script:
fishme.fish.onPress = function ()
{
fishme.startDrag();
fishme.gotoAndStop(1);
fishme.onEnterFrame = function ()
{
anzeige();
}
}

fishme.fish.onRelease = function ()
{
fishme.stopDrag();
fishme.gotoAndPlay(1);
delete fishme.onEnterFrame;
if (fishme.hitTest (blup._x,blup._y))
{
blupp();
}
else
{
kein_logo();
}
}

fishme.fish.onRelease = function ()
{
fishme.stopDrag();
fishme.gotoAndPlay(1);
delete fishme.onEnterFrame;
if (fishme.hitTest (bla._x,bla._y))
{
blaa();
}
else
{
kein_logo();
}
}

function blaa()
{
fishme._x = bla._x;
fishme._y = bla._y;
textfeld = "Hier ist blabla";
}

function anzeige()
{
textfeld = "Logo auswählen";
};

function kein_logo()
{
textfeld = "Kein Logo ausgewählt";
}
Teufelspuppe ist offline   Mit Zitat antworten
Alt 18-01-2006, 15:46   #2 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
du kannst deinen fish keine zwein'onRelease'-events zuweisen,
da der erste vom zweiten überschrieben wird.

oder ist´s nur ein schreibfehler deinerseits ?

btw: kannst deinen code nächstes mal auf formatieren..

gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 18-01-2006, 15:52   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Ort: Essen
Beiträge: 5
Sorry, für das nicht-formatieren, ging leider nicht mehr im Editier-Modus, wie du gesehen hast, ist das mein 2. Beitrag ...

die Frage ist ja: Wie geht es denn richtig? Sorry, aber ich bin noch AS_Anfänger, wäre für eine ausführlichere Erklärung dankbar
Teufelspuppe ist offline   Mit Zitat antworten
Alt 18-01-2006, 15:57   #4 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
nun ist zumindest keine doppelte zuweisung mehr drin und die textzuweisungen sind
ein 'trace()' ersetzt..

ActionScript:
  1. fishme.fish.onPress = function ()
  2. {
  3.   fishme.startDrag();
  4.   fishme.gotoAndStop(1);
  5.   fishme.onEnterFrame = function ()
  6.   {
  7.     anzeige();
  8.   }
  9. }
  10.  
  11. fishme.fish.onRelease = function ()
  12. {
  13.   fishme.stopDrag();
  14.   fishme.gotoAndPlay(1);
  15.   delete fishme.onEnterFrame;
  16.  
  17.   if (fishme.hitTest (blup._x,blup._y))
  18.   {
  19.     blupp();
  20.   }
  21.   else
  22.   {
  23.     kein_logo();
  24.   }
  25. }
  26.  
  27. function blaa()
  28. {
  29.   fishme._x = bla._x;
  30.   fishme._y = bla._y;
  31.   trace("Hier ist blabla");
  32. }
  33.  
  34. function anzeige()
  35. {
  36.   trace("Logo auswählen");
  37. }
  38.  
  39. function kein_logo()
  40. {
  41.   trace("Kein Logo ausgewählt");
  42. }

was genau soll denn nun passieren..

gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn

Geändert von the binary (18-01-2006 um 15:58 Uhr)
the binary ist offline   Mit Zitat antworten
Alt 18-01-2006, 16:06   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Ort: Essen
Beiträge: 5
wie ich schon eingangs erwähnt habe, soll das so was ähnliches wie eine imagemap sein, blup & bla sind zwei objekte, in die der fish einrasten soll und im dynamischen textfeld soll dann der text des objektes eingeblendet werden, also nicht im ausgabefenster. so wie du es gezeigt hast, klappt es natürlich, gibt ja auch nur eine möglichkeit des einrastens. der fish soll aber in mehreren objekten einrasten und den entsprechenden test zeigen, es wird aber nur der der letzte eintrag im AS angezeigt, weil - wie du sagtest - die onRelease sich gegenseitig aufheben ... es sollen noch mehr objekte in die der fish einrasten soll (ca. 10), von daher brauche ich einen guten tipp, die if's habe ich schon versucht ins erste onRelease zu packen, ist aber das gleiche ergebis, nur das zuletzt im AS geschriebene objekt wird gezeigt

(wie formatiere ich denn den test so schön? eingerückt, zeilenangabe und bunt??)

Geändert von Teufelspuppe (18-01-2006 um 16:12 Uhr)
Teufelspuppe ist offline   Mit Zitat antworten
Alt 18-01-2006, 18:10   #6 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
stellt sich die frage, wann einrasten soll ?

beim loslassen, oder schon beim ziehen ?

die eine variante, würde eine überprüfung beim 'onRelease'-event, die andere
'setInterval' oder 'onEnterFrame' erfordern..

du könntest deine 'multiplen hitflächen' z.b. in ein array packen und
beim 'onRelease'-event das array durchlaufen und auf kollision überprüfen.

formatierung geht mit "[ AS ]" // your script "[ / AS ]" (hochkommata und leerzeichen entfernen)

gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn

Geändert von the binary (18-01-2006 um 18:11 Uhr)
the binary ist offline   Mit Zitat antworten
Alt 19-01-2006, 07:40   #7 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Ort: Essen
Beiträge: 5
hallo binary, danke für deine hilfe, aber wenn ich die if's durch elseif's ersetze, klappt alles wunderbar ... die lösung ist manchmal recht einfach, nur der weg dahin nicht ...
Teufelspuppe ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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 02:41 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele