Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-05-2005, 08:23   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 32
merkwürdiges Problem bei on (release) {}

Hallo,

ich bin kurz vor der Vollendung des Spiels RISIKO als Multiplayergame. Jetzt tritt ein merkwürdiges Problem mit den Schaltflächen und MC's, die auf
ActionScript:
  1. on(release)
reagieren sollen. Wenn ich das Programm starte läuft alles noch super, doch irgendwann im Spiel funktionieren ALLE diese Schaltflächen und MC's nicht mehr wie sie sollen. Nach einem Klick auf irgendeine Schaltfläche, wird zwar noch
ActionScript:
  1. on(release)
ausgeführt, aber danach sofort das Ereignis
ActionScript:
  1. on(rollOut)
- obwohl sich die Maus noch über der Schaltfläche befindet!!! Solange ich die Maus nicht bewege, kann ich nun so oft klicken, wie ich möchte. Die Schaltfläche reagiert nicht darauf. Erst wenn ich die Maus (und wenn es nur um ein Pixel ist) bewege, dann erkennt die Schaltfläche, dass da die Maus drüberliegt (Allerdings nur bis zum nächsten Klick )

Hat jemand schon einmal von so einem Problem gehört, dass z.B. ein bestimmter Fehler in einem Flash-Film alle Objekte, die auf
ActionScript:
  1. on(release)
reagieren nicht mehr ordentlich arbeiten. Wie gesagt, das Programm läuft eine gewisse Zeit gut, doch irgendwann machts bumm.

Ich hab die ganze Nacht meinen Programmcode studiert und komme einfach nicht dahinter wodurch dies ausgelöst wird. Bei meinen anderen Spielen, hab ich dieses noch nie erlebt und die haben auch viele Schaltflächen und MC's http://www.bananario.de

Gruß Peter
Holzlocke ist offline   Mit Zitat antworten
Alt 20-05-2005, 08:53   #2 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Wenn ich versuchen würde, dein Problem nachzuvollziehen, würde ich einen Button auf die Bühne legen, und bei on(release) einen MovieClip erzeugen, der unter der Maus und über dem Button liegt. Vielleicht passiert bei dir irgendwo sowas auch?

ActionScript:
  1. on(release){
  2.     trace("release");
  3.    
  4.     var mc = createEmptyMovieClip("mc", 1);
  5.     mc.beginFill(0xff0000);
  6.     mc.moveTo(-1,-1);
  7.     mc.lineTo(-1,1);
  8.     mc.lineTo(1,1);
  9.     mc.lineTo(1,-1);
  10.     mc.lineTo(-1,-1);
  11.     mc.endFill();
  12.     mc._x = _xmouse;
  13.     mc._y = _ymouse;
  14.     mc.onRelease = null;   
  15. }
  16.  
  17. on(rollOut){
  18.     trace("rollOut");
  19. }

Wenn du das Script auf einen Button legst, hast du das Verhalten, wie du es oben beschreibst. Das Beispiel ist recht simpel, der MovieClip könnte z.B. auch von einem MouseUp-Handler, der ganz woanders steht, erzeugt werden. Dann würde das bei jedem Button passieren.

mfg. r.

Geändert von bokel (20-05-2005 um 09:14 Uhr)
bokel ist offline   Mit Zitat antworten
Alt 20-05-2005, 10:21   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 32
Hallo Ralf,

danke für die schnelle Antwort und das Beispiel. Ich habs gleich ausprobiert. Leider kriege ich mit dem Beispiel den Fehler nicht reproduziert. Wobei ich den Ansatz in meinem Projekt weiter verfolgen werde, ob es da nicht so etwas in der Art gibt. Es macht mich ja am meisten stutzig, dass sich dieses Problem, wenn es denn auftritt, über wirklich alle Schaltflächen hinzieht.

Auf jeden Fall Danke!

Gruß Peter
Holzlocke ist offline   Mit Zitat antworten
Alt 20-05-2005, 11:08   #4 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Eine andere Möglichkeit wäre noch, dass sich ein unsichtbarer Clip bei onMouseUp zur Maus hinbewegt. Wenn du gescriptete Anmationen benutzt, hast du vielleicht irgendwo vergessen, den Clip am Ende der Animation zu löschen.
Das würde auch erklären, dass das rollout nach dem release ausgeführt wird. Bei onMouseUp wäre es nämlich eigentlich umgekehrt.

mfg. r.
bokel ist offline   Mit Zitat antworten
Alt 20-05-2005, 12:35   #5 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 32
Hallo Ralf,

ich werd mir heute abend wohl nochmal alle gescripteten Animationen vornehmen. Werde mich dann melden ob ich den Fehler finden konnte. Ich hoffe nur nicht, dass ich an so einem Ding scheitern werde, wo ich schon seit Wochen an diesem Projekt arbeite *schnief* und es so gut wie fertig ist.

Gruß Peter
Holzlocke ist offline   Mit Zitat antworten
Alt 21-05-2005, 10:18   #6 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 32
Hallo,

ich hab mir gestern abend nochmal die Movieclips, die per Script verschoben werden, vorgenommen. Leider konnte ich keinen Fehler finden.

Ich habe aber nochmal genau hingeschaut und zwar in dem Augenblick wenn alle meine Schaltflächen nicht mehr funktionieren. Die Maus befindet sich über der Schaltfläche. Die Position des Abspielzeigers ist trotzdem nicht auf "drüber", sondern auf "UP"(kann ich ja an der Animation erkennen). Wenn ich dann auf die Schaltfläche drücke, springt der Abspielzeiger in der Zeitleiste der Schaltfläche auf "gedrückt", so wie es sein muss, springt aber ganz schnell wieder auf die Position "UP", wieder so, als wenn die Maus nicht mehr über der Schaltfläche wäre. Die Funktion on(release) wird dabei aber nicht ausgeführt. Das heißt ja, die Schaltfläche ist erreichtbar, aber nicht so richtig.

Des weiteren will ich noch anmerken: Da dies ja ein Multiplayergame ist, fahre ich den Test auf 2 Rechnern - Mann gegen Mann sozusagen. Der Fehler setzt nie zur gleichen Zeit bei beiden Rechnern ein. Während der eine Spieler diesen Fehler schon auf dem Bildschirm hat, spielt der andere noch ein paar Runden fehlerfrei. Es scheint also kein generelles Problem zu sein.
Der Fehler geht solange man weiterspielt auch nicht wieder weg. Erst bei Neustart des Spieles.

Was ist das nur für ein Fehler? Ich bin für jeden Tipp dankbar!

Gruß Peter
Holzlocke ist offline   Mit Zitat antworten
Alt 21-05-2005, 11:17   #7 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Dann wird es ohne den Code zu sehen schwierig.
Eine Möglichkeit wäre es noch, das Spiel solange zu vereinfachen, bis der Fehler nicht mehr auftritt.
mfg. r.
bokel ist offline   Mit Zitat antworten
Alt 26-05-2005, 21:45   #8 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 32
Meine Chat-Textfeld ist schuld?

Hallo Flash-Freunde,

endlich hab ich geschnallt wann mein Problem auftritt. Sowie ich in das Eingabetextfeld für den Chat gehe, funktionieren die Schaltflächen nicht mehr richtig. Wie kann das sein? Ich verstehe den Zusammenhang nicht.

Bitte um Hilfe.

Gruß Peter
Holzlocke ist offline   Mit Zitat antworten
Alt 26-05-2005, 22:15   #9 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
wie Ralf schon schrieb, ohne Script schwierig
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 27-05-2005, 13:59   #10 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 32
Textarea ist das Problem - Einstellungen falsch?

Hallo nochmal,

da ich jetzt wusste, wo ich suchen muss, habe ich alle Elemente meines Programms nach und nach entfernt. Als alle gelöscht waren, bis auf einem Eingabetextfeld und einer Schaltfläche, war das Problem immernoch da. Erst als ich auch die Bibliothek gelöscht hatte war das Problem weg.

Dann hab ich herausbekommen, das es am Textarea liegt. Ist die Komponente fehlerhaft?

Man kann den Fehler ganz einfach nachbauen: Man benötigt eine Schaltfläche und ein Eingabetextfeld. Dann zieht man sich die Komponente Textarea auf die Arbeitsfläche. Solange man nicht in das Textfeld geklickt hat, ist alles in Ordnung aber tut man dieses, dann funktioniert die Schaltfläche nicht mehr richtig. Weiß jemand, wie man dieses Problem abstellen kann?

Gruß Peter
Holzlocke 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 21:55 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele