Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-08-2003, 21:33   #1 (permalink)
nxs
no user
 
Benutzerbild von nxs
 
Registriert seit: Jul 2001
Ort: Murnau
Beiträge: 377
FlashGame Probleme beim zweiten Lauf

Hallo zusammen!

Ich habe ein ziemlich verwirrendes Problem...
Ich habe ein "Senso-Clone" programmiert.
Hier kurz der Spielablauf:
Es ertönt eine Melodie, die man genau nachspielen sollte.
Dabei erscheinen auch optische Signale.
Danach kann man mit einer Hunde-figur die Melodie nachspielen - wenn man auf die farbigen Kästen klickt.

Soweit sogut.

Doch leider, leider reagiert das Script in Level 2 gänzlich anders.
Anstatt einen Klick auf den Kasten zu registrieren, "tut" es so, als wären es zwei, oder ein Doppelklick...

Ich lade das File hoch, zum besseren Einblick.

Ich hoffe sehr, dass jemand einen Tipp für mich hat!

Danke,

nxs.

PS: ich habe die Sounds aus der fla weggelassen - wg. der dateigrösse...
Angehängte Dateien
Dateityp: zip senso_test2.zip (10,8 KB, 7x aufgerufen)
__________________
Freivogel

----------------------------------------------
nxs ist offline   Mit Zitat antworten
Alt 10-08-2003, 10:19   #2 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Hi,
poste mal den Skriptausschnit bitte.
MacEvil ist offline   Mit Zitat antworten
Alt 10-08-2003, 10:34   #3 (permalink)
nxs
no user
 
Benutzerbild von nxs
 
Registriert seit: Jul 2001
Ort: Murnau
Beiträge: 377
Der Code ist doch ziemlich lang, aber ich hoffe, das wesentliche zu erfassen (wer weiß, ob das Prob wirklich darin liegt?)

Also, das ist die Funktion, die das Array mit der Melodie erstellt:

ActionScript:
  1. for (var i = 1; i<=_root["level"+_root.leveltxt+"max"]; i++) {
  2.     _root.senso[i] = random(4);
  3.     trace(i+"glocke"+_root.senso[i]);
  4. }

Diese Funktion überprüft, die Position des Klicks (die Glocken sind horizontal nebeneinander angeordnet:

ActionScript:
  1. hundListener = {};
  2. hundListener.onMouseDown = function() {
  3.     if (_root.gamestat == "running") {
  4.         _root.gamestat = "clicked";
  5.         hund.gotoAndPlay("stups");
  6.         if (_xmouse>=107 && _xmouse<=190) {
  7.             if (senso[step] == 0) {
  8.                 glocke0.gotoAndPlay("an");
  9.                 rightChoice();
  10.             } else {
  11.                 glocke0.gotoAndPlay("an");
  12.                 wrongChoice();
  13.             }
  14.         } else if (_xmouse>=224 && _xmouse<=308) {
  15.             if (senso[step] == 1) {
  16.                 glocke1.gotoAndPlay("an");
  17.                 rightChoice();
  18.             } else {
  19.                 glocke1.gotoAndPlay("an");
  20.                 wrongChoice();
  21.             }
  22.         } else if (_xmouse>=346 && _xmouse<=428) {
  23.             if (senso[step] == 2) {
  24.                 glocke2.gotoAndPlay("an");
  25.                 rightChoice();
  26.             } else {
  27.                 glocke2.gotoAndPlay("an");
  28.                 wrongChoice();
  29.             }
  30.         } else if (_xmouse>=463 && _xmouse<=543) {
  31.             if (senso[step] == 3) {
  32.                 glocke3.gotoAndPlay("an");
  33.                 rightChoice();
  34.             } else {
  35.                 glocke3.gotoAndPlay("an");
  36.                 wrongChoice();
  37.             }
  38.         }
  39.     }
  40. };
  41. Mouse.addListener(hundListener);

Und diese letzte Funktion, überprüft, ob der Klick auch richtig war:

ActionScript:
  1. function rightChoice() {
  2.     trace("richtig");
  3.     gamestat = "running";
  4.     if (step>=senso.length-1) {
  5.         trace("fertig");
  6.         if (leveltxt == 1) {
  7.             wertungs_text = "Das war richtig!\rZur Belohnung erhält der Hund ein lecker Fresslein.\rSchaffst Du Level zwei auch?";
  8.             gotoAndPlay("levelkomp", 1);
  9.             leveltxt = 1;
  10.         } else if (leveltxt == 2) {
  11.             wertungs_text = "Auch das ist Richtig!\rWieder ein Leckerli für den Hund. Auf in Runde drei!";
  12.             gotoAndPlay("levelkomp", 1);
  13.             leveltxt = 3;
  14.         } else {
  15.             wertungs_text = "Wow! Du hast alle Level gelöst!";
  16.             gotoAndPlay("levelkomp", 1);
  17.         }
  18.     } else {
  19.         step++;
  20.         trace("noch einer"+step);
  21.     }
  22. }
  23. //
  24. function wrongChoice() {
  25.     trace("falsch!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
  26.     trace(senso[step]);
  27. } {

Danke schonmal für die Mühe!

nxs.
__________________
Freivogel

----------------------------------------------
nxs ist offline   Mit Zitat antworten
Alt 10-08-2003, 11:35   #4 (permalink)
nxs
no user
 
Benutzerbild von nxs
 
Registriert seit: Jul 2001
Ort: Murnau
Beiträge: 377
Ich hab da jetzt mal ein bisschen experimentiert, und dabei festgestellt, dass das wohl mit dem Mouse.Listener zusammenhängt...

Wenn ich Buttons verwende, auf die geklickt wird, kommt das nicht zustande!!

Weiss jemand Rat, bzw. habe ich beim MouseListener was verkehrt gemacht?

Bitte um Hilfe,

nxs.
__________________
Freivogel

----------------------------------------------
nxs ist offline   Mit Zitat antworten
Alt 10-08-2003, 11:39   #5 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
hi nxs,


wieso machst du es denn nicht einfach mit mcs oder buttons? ist doch viel einfacher als die mauspos abzufragen


mati
__________________
„Ich war geheilt, all right!“
mati ist offline   Mit Zitat antworten
Alt 10-08-2003, 12:16   #6 (permalink)
nxs
no user
 
Benutzerbild von nxs
 
Registriert seit: Jul 2001
Ort: Murnau
Beiträge: 377
ich wollte halt auf diesen Mouse-change in die "link-hand" verzichten...
geht wohl leider nicht ;(

und soooo schwierig ist es nun auch wieder nicht, die maus.pos abzufragen.


nxs.
__________________
Freivogel

----------------------------------------------
nxs ist offline   Mit Zitat antworten
Alt 10-08-2003, 12:19   #7 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
das mit der hand kannste auch einfacher haben:
ActionScript:
  1. deinmc.useHandCursor = false;


mati
__________________
„Ich war geheilt, all right!“
mati ist offline   Mit Zitat antworten
Alt 10-08-2003, 13:04   #8 (permalink)
nxs
no user
 
Benutzerbild von nxs
 
Registriert seit: Jul 2001
Ort: Murnau
Beiträge: 377
hm, das ist natürlich eine idee...

danke

nxs.
__________________
Freivogel

----------------------------------------------
nxs ist offline   Mit Zitat antworten
Alt 10-08-2003, 13:06   #9 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
klein aber fein!



kein problem, mati
__________________
„Ich war geheilt, all right!“
mati 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 12:51 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele