Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-06-2008, 11:10   #1 (permalink)
ActionScriptler
 
Benutzerbild von .:morpher:.
 
Registriert seit: Jun 2002
Ort: auheim
Beiträge: 1.654
Überprüfen, ob etwas enthalten ist, oder nicht

Hi Leute!

Ich möchte, wenn man auf einen MC klickt, überprüfen, ob ein Element entahlten ist oder nicht. Je nachdem soll etwas anderes passieren:
Treffer : Treffer Counter wird erhöht,Treffer wird aus Array gelöscht und der geklickte MC soll in einen neuen Frame springen
Kein Treffer: Varibale falsch wird erhöht und der geklickte MC soll in einen neuen Frame springen.

Für Treffer habe ich folgendes Script entwickelt:
ActionScript:
  1. function anklicken(zielCon) {
  2.     trace(_root.zutaten.length);
  3.     trace (zielCon.zutat.zutat);
  4.     for (i=0; i<_root.zutaten.length; i++) {
  5.         trace (zutaten[i]);
  6.         if (zielCon.zutat.zutat == zutaten[i]) {
  7.             treffer ++;
  8.             //zutatenKomplett.splice(i);
  9.             interface_mc.haken_mc.gotoAndStop("treffer"+_root.treffer);
  10.             trace ("TREFFER");
  11.             zutaten[i] = "";
  12.             //zielCon.zutat.gotoAndStop(zutatenKomplett[random(8)]);
  13.         }
  14.     }
  15. }
und so rufe ich das Script auf:
ActionScript:
  1. container_mc.onRelease = function(){
  2.         anklicken(container_mc);
  3.     }
--> mit dem auskommentiereten Splice Befehl wird der ganze Array leer geputzt, aber ich verstehe nicht wieso...

Für kein Treffer müsste ich wissen, wie man eine Bedingung ala "Wenn die For-Schleife keinen Treffer hatte, dann ...", aber da stehe ich gerade auch etwas auf dem Schlauch.

Ich bin für jede Hilfe von Euch wie immer dankbar.

MfG,

morpher
__________________
CU @ MY SITE

FOLLOW ME ON TWITTER
.:morpher:. ist offline   Mit Zitat antworten
Alt 03-06-2008, 11:15   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Ich verstehe zwar überhaupt nicht, was Du machen willst,
aber einen Check, ob kein Treffer erzielt worden ist, kannst
Du z.B. so lösen.

PHP-Code:
function test()
{
  var 
trefferCheck false;
  for (
i=0i<_root.zutaten.lengthi++)
  {
    if (
zielCon.zutat.zutat == zutaten[i])
    {
    

    trefferCheck 
true;
    } 
  }
  
tracetrefferCheck ); // true: mindestens ein Treffer, false: kein Treffer

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 03-06-2008, 11:16   #3 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
mit dem auskommentiereten Splice Befehl wird der ganze Array leer geputzt, aber ich verstehe nicht wieso...
splice kann Inhalte in ein Array einfügen oder löschen. Wenn als zweiter Parameter kein deletecount von 0 angegeben wird, wird alles ab dem ersten Parameter gelöscht.
  Mit Zitat antworten
Alt 03-06-2008, 11:19   #4 (permalink)
ActionScriptler
 
Benutzerbild von .:morpher:.
 
Registriert seit: Jun 2002
Ort: auheim
Beiträge: 1.654
danke für die Info
__________________
CU @ MY SITE

FOLLOW ME ON TWITTER
.:morpher:. ist offline   Mit Zitat antworten
Alt 03-06-2008, 11:42   #5 (permalink)
ActionScriptler
 
Benutzerbild von .:morpher:.
 
Registriert seit: Jun 2002
Ort: auheim
Beiträge: 1.654
Spitze, jetzt klappt schon fast alles:
ActionScript:
  1. function anklicken(zielCon) {
  2.     trefferCheck = false;
  3.     trace(_root.zutaten.length);
  4.     trace(zielCon.zutat.zutat);
  5.     for (i=0; i<_root.zutaten.length; i++) {
  6.         trace(zutaten[i]);
  7.         if (zielCon.zutat.zutat == zutaten[i]) {
  8.             trefferCheck = true;
  9.             treffer++;
  10.             zutaten.splice(i, 1);
  11.             zutatenKomplett.splice(i, 1);//PROBLEM- Erklärung siehe unten
  12.             interface_mc.haken_mc.gotoAndStop("treffer"+_root.treffer);
  13.             trace("TREFFER");
  14.             zielCon.zutat.gotoAndStop(zutatenKomplett[random(zutatenKomplett.length)]);
  15.         }
  16.     }
  17.     if (trefferCheck != true){
  18.         trace (falsch);
  19.         falsch++;
  20.         interface_mc.falsch_mc.gotoAndStop("falsch"+_root.falsch);
  21.         zielCon.zutat.gotoAndStop(zutatenKomplett[random(zutatenKomplett.length)]);
  22.             trace("WRONG!");
  23.         }
  24. }
so, nun habe ich noch ein weiteres kleines Problem. Ich möchte gleichzeitig aus 2 Verschiedenen Arrays einen Eintrag löschen. Ich habe zum Beispiel 2 Arrays, die den Eintrag "Post" haben und bei dem einen ist es der 3. Eintrag und beim anderen der 5.
Wie kann man nun in Abhängikeit vom ersten Array einen Eintrag aus dem 2. löschen?
Ich möchte also herausfinden, wie der 3. Eintrag im ersten Array heißt, dann herausfinden an welcher Stelle dieser Eintrag im 2. Array steht und diesen dann dort auch löschen.
Habt Ihr eine Idee?
__________________
CU @ MY SITE

FOLLOW ME ON TWITTER
.:morpher:. ist offline   Mit Zitat antworten
Alt 03-06-2008, 11:55   #6 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
servus,
zu dem thema gibts schon super viele threads. hier z.B.:
menu

ist eine function die einen betimmten wert in einem array sucht und dessen pos im array zurück gibt. diese pos kannste dann ja dazu benutzen auch das andere arr entsprechend zu modifizieren. oder du schreibst dir die function einfach schnell um

cheers, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 03-06-2008, 13:02   #7 (permalink)
ActionScriptler
 
Benutzerbild von .:morpher:.
 
Registriert seit: Jun 2002
Ort: auheim
Beiträge: 1.654
@salazar: Kann es sein, dass Du den falschen Beitrag verlinkt hast? Ich komme da zu einem Thread über Menüs
__________________
CU @ MY SITE

FOLLOW ME ON TWITTER
.:morpher:. ist offline   Mit Zitat antworten
Alt 03-06-2008, 14:04   #8 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
sorry... da ist mir wohl was durcheinander gekommen!
hier jetzt aber der richtige link:
Array durchsuchen, wie am besten?

cheers, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar 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 07:46 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele