Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-12-2004, 14:13   #1 (permalink)
Nord-Workoholic
 
Benutzerbild von TinKim
 
Registriert seit: Mar 2004
Ort: Kiel
Beiträge: 937
Key.isDown... reagiert nicht unter Firefox, wenn geschachtelt

Hallo!

Ich habe einen geschachtelten Movieclip mit einer kleinen Game-Engine, die in ein Framework geladen wird. In der Engine wird dann onEnterFrame geprüft, ob eine Pfeiltaste gedrückt ist, also mit "if (Key.isDown(Key.DOWN))" etc..
Das funktioniert tadelos im Internet Explorer, funktioniert aber überhaupt nicht im Firefox. Dort kommt das Ereignis offenbar gar nicht an.
Ist das ein Bug einer speziellen Version, oder liegt es an der Schachtelung?
Hatte das Problem auch schon mal jemand?

Danke für jeden Hinweis,

Viele Grüße,

Kim
TinKim ist offline   Mit Zitat antworten
Alt 21-12-2004, 14:18   #2 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
Also wenn Du es in einen Frame lädst (hast also ein Frameset für Deine Seite) dann kann es daran liegen dass der aktuelle Frame nicht im Vordergrund ist ("aktiviert" ist durch Klich mit der Maustaste).

Ist jetzt mal eine Theorie von mir, denn eigentlich haben Playersachen nichts mit dem Browser zu tun ... oder?!

--pp
~pyropete~ ist offline   Mit Zitat antworten
Alt 21-12-2004, 14:31   #3 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
bitte code !


nky
nky ist offline   Mit Zitat antworten
Alt 21-12-2004, 14:58   #4 (permalink)
Nord-Workoholic
 
Benutzerbild von TinKim
 
Registriert seit: Mar 2004
Ort: Kiel
Beiträge: 937
Hat überhaupt nichts mit Framesets zu tun. Das Spiel liegt in einem Framework, soll heißen das eigentliche Spiel (engine.swf) wird von einer Datei root.swf in einen Movieclip engine_mc geladen. Root stellt XML-Informationen für das Spiel bereit und Preloader und Startinformationen.
"Framework" hat überhaupt nichts mit Frames zu tun, das ist eine Bezeichnung für den strukturellen Aufbau eines Softwareprojektes.

Zitat:
Zitat von ~pyropete~
Also wenn Du es in einen Frame lädst (hast also ein Frameset für Deine Seite) dann kann es daran liegen dass der aktuelle Frame nicht im Vordergrund ist ("aktiviert" ist durch Klich mit der Maustaste).

Ist jetzt mal eine Theorie von mir, denn eigentlich haben Playersachen nichts mit dem Browser zu tun ... oder?!

--pp
TinKim ist offline   Mit Zitat antworten
Alt 21-12-2004, 15:05   #5 (permalink)
Nord-Workoholic
 
Benutzerbild von TinKim
 
Registriert seit: Mar 2004
Ort: Kiel
Beiträge: 937
Codeausschnitte.

Aus root.fla/root.swf:
ActionScript:
  1. level_xml.onLoad = function(status) {
  2.     if (status and this.loaded) {
  3.         f_levelLoading = true;
  4.         gameLoader_txt.text = this.firstChild.attributes.levelloadertext;
  5.         levelBg_mc.loadMovie(this.firstChild.attributes.levelimage);
  6.         sign_mc.signMsg_txt.text = this.firstChild.attributes.leveldescription;
  7.         engine_mc.loadMovie("swf/engine.swf");
  8.     }
  9. }
Im Root wird durch Aufruf einer XML-Datei ein Levelhintergrund geladen (Grafik steht in der XML-Datei).
Die engine.swf ist immer die gleiche Datei und wird in den engine_mc geladen.

In der Engine steht dann dies und wird jedes Frame ausgeführt.
ActionScript:
  1. if (Key.isDown(Key.RIGHT)) {
  2.             this.speedX = highspeed;
  3.         }
  4.         else if (Key.isDown(Key.LEFT)) {
  5.             this.speedX = -highspeed;
  6.         }
  7.         else if (Key.isDown(Key.DOWN)) {
  8.             this.speedY = highspeed;
  9.         }
  10.         else if (Key.isDown(Key.UP)) {
  11.             this.speedY = -highspeed;
  12.         }
  13.         else {
  14.             this.speedY = this.speedY / 1.1;
  15.             this.speedX = this.speedX / 1.1;
  16.         }

Die Ereignisse key.isDown(Key....) treten offenbar nie im Firefox oder anderen Browsern (offenbar alle außer IE) auf. Und das versteh ich beim besten Willen nicht.
TinKim ist offline   Mit Zitat antworten
Alt 21-12-2004, 21:07   #6 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 16
Zitat:
Zitat von TinKim
Codeausschnitte.

Aus root.fla/root.swf:
ActionScript:
  1. level_xml.onLoad = function(status) {
  2.     if (status and this.loaded) {
  3.         f_levelLoading = true;
  4.         gameLoader_txt.text = this.firstChild.attributes.levelloadertext;
  5.         levelBg_mc.loadMovie(this.firstChild.attributes.levelimage);
  6.         sign_mc.signMsg_txt.text = this.firstChild.attributes.leveldescription;
  7.         engine_mc.loadMovie("swf/engine.swf");
  8.     }
  9. }
Im Root wird durch Aufruf einer XML-Datei ein Levelhintergrund geladen (Grafik steht in der XML-Datei).
Die engine.swf ist immer die gleiche Datei und wird in den engine_mc geladen.

In der Engine steht dann dies und wird jedes Frame ausgeführt.
ActionScript:
  1. if (Key.isDown(Key.RIGHT)) {
  2.             this.speedX = highspeed;
  3.         }
  4.         else if (Key.isDown(Key.LEFT)) {
  5.             this.speedX = -highspeed;
  6.         }
  7.         else if (Key.isDown(Key.DOWN)) {
  8.             this.speedY = highspeed;
  9.         }
  10.         else if (Key.isDown(Key.UP)) {
  11.             this.speedY = -highspeed;
  12.         }
  13.         else {
  14.             this.speedY = this.speedY / 1.1;
  15.             this.speedX = this.speedX / 1.1;
  16.         }

Die Ereignisse key.isDown(Key....) treten offenbar nie im Firefox oder anderen Browsern (offenbar alle außer IE) auf. Und das versteh ich beim besten Willen nicht.
probiers ma mit den Tastencodes hier die fuer die Pfeiltasten ^^ evtl gehts dann


Left Arrow 37
Up Arrow 38
Right Arrow 39
Down Arrow 40
ZerEx 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 18:22 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele