Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-11-2006, 14:52   #1 (permalink)
// Knäckebrot
 
Benutzerbild von modul47
 
Registriert seit: Mar 2002
Ort: München
Beiträge: 283
tastatur-eingabe komischer bug/fehler

hi leutz,

ich hab ein supereinfaches ding gebaut um bilder zu präsentieren. dazu hab ich ein scriptchen, was mich mit den pfeiltasten vor und zurück zwischen den frames navigieren lässt. das geht auch, aber nur einmal...

wenn ich einmal komplett vor und wieder zurück am anfang bin, springt das script plötzlich 2-frame-weit vor und zurück, beim weiterern rumprobieren gehts dann plötzlich gar nicht mehr weiter... seltsam

kenn das problem jemand, oder hab ich was falsch gescriptet...:

Code:
var keyListener_obj:Object = new Object();
keyListener_obj.onKeyDown = function() {
	switch (Key.getCode()) {
	case Key.LEFT :
		vorige();
		break;
	case Key.RIGHT :
		naechste();
		break;
	case Key.ESCAPE :
		exit();
		break;
	}
};
Key.addListener(keyListener_obj);
function naechste() {
	trace("next");
	_root.nextFrame();
}
function vorige() {
	trace("back");
	_root.prevFrame();
}
function exit() {
	trace("raus");
	getURL("javascript:self.close();");
}
dankend,
tom
__________________
www.flickr.com/photos/i47/ - auswahl meiner pics
www.i47.de - portfolio
modul47 ist offline   Mit Zitat antworten
Alt 09-11-2006, 15:53   #2 (permalink)
Neuer User
 
Benutzerbild von _crypto_
 
Registriert seit: Mar 2006
Beiträge: 1.573
mach doch mal in die funktionen:
PHP-Code:
// nächster Frame
(_root._currentframe != _root.totalframes) ? _root.nextFrame() :  _root.gotoAndStop(1);


//  vorheriger Frame
(_root._currentframe != 1) ? _root.prevFrame() : _root.gotoAndStop(_root.totalframes); 
__________________

Currently working on:

- --- ---

-----------------------------------------------------------------
ActionScript 3.0, C++, Java, Delphi
_crypto_ ist offline   Mit Zitat antworten
Alt 09-11-2006, 15:57   #3 (permalink)
// Knäckebrot
 
Benutzerbild von modul47
 
Registriert seit: Mar 2002
Ort: München
Beiträge: 283
hat genau den gleichen effekt.
wenn ich beim ersten mal hin und zurück navigiere macht ers richtig, beim 2. mal springt er immer 2 frames weit, beim 3. mal 3 frames und so weiter...

sehr seltsam...
__________________
www.flickr.com/photos/i47/ - auswahl meiner pics
www.i47.de - portfolio
modul47 ist offline   Mit Zitat antworten
Alt 09-11-2006, 15:58   #4 (permalink)
Neuer User
 
Benutzerbild von _crypto_
 
Registriert seit: Mar 2006
Beiträge: 1.573
dann probier doch mla anstatt nextFrame gotoAndStop(_currentframe+1);
__________________

Currently working on:

- --- ---

-----------------------------------------------------------------
ActionScript 3.0, C++, Java, Delphi
_crypto_ ist offline   Mit Zitat antworten
Alt 09-11-2006, 16:00   #5 (permalink)
// Knäckebrot
 
Benutzerbild von modul47
 
Registriert seit: Mar 2002
Ort: München
Beiträge: 283
wah, immer noch...
ich denke das liegt eher an der listener-funktion... (und damit kenn ich mich gar nicht aus....)
__________________
www.flickr.com/photos/i47/ - auswahl meiner pics
www.i47.de - portfolio
modul47 ist offline   Mit Zitat antworten
Alt 09-11-2006, 16:24   #6 (permalink)
Neuer User
 
Benutzerbild von _crypto_
 
Registriert seit: Mar 2006
Beiträge: 1.573
mach mal onKeyUp
__________________

Currently working on:

- --- ---

-----------------------------------------------------------------
ActionScript 3.0, C++, Java, Delphi
_crypto_ ist offline   Mit Zitat antworten
Alt 09-11-2006, 16:24   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Das Problem ist, dass dein Script wohl im ersten Frame steht. Sobald du da wieder ankommst, wird (wenn man so will) ein zweiter Listener erstellt. Ist etwas komisch, könntest du aber so z.B. umgehen:
PHP-Code:
if(!keyListener_obj){
var 
keyListener_obj:Object = new Object();
keyListener_obj.onKeyDown = function() {
    switch (
Key.getCode()) {
    case 
Key.LEFT :
        
vorige();
        break;
    case 
Key.RIGHT :
        
naechste();
        break;
    case 
Key.ESCAPE :
        exit();
        break;
    }
};
Key.addListener(keyListener_obj);
function 
naechste() {
    
trace("next");
    
_root.nextFrame();
}
function 
vorige() {
    
trace("back");
    
_root.prevFrame();
}
function exit() {
    
trace("raus");
    
getURL("javascript:self.close();");
}

...und warum schreibst du eingentlich Funktionen für eine Zeile Script - gut, mit trace zwei???
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 09-11-2006, 17:17   #8 (permalink)
// Knäckebrot
 
Benutzerbild von modul47
 
Registriert seit: Mar 2002
Ort: München
Beiträge: 283
super, das wars, hab nur noch einen kleinen fehler korrigiert. die schliessen-klammer der if muss for die functions:

Code:
if(!keyListener_obj){
var keyListener_obj:Object = new Object();
keyListener_obj.onKeyDown = function() {
    switch (Key.getCode()) {
    case Key.LEFT :
        vorige();
        break;
    case Key.RIGHT :
        naechste();
        break;
    case Key.ESCAPE :
        exit();
        break;
    }
  };
}  

Key.addListener(keyListener_obj);

function naechste() {
    trace("next");
    _root.nextFrame();
}
function vorige() {
    trace("back");
    _root.prevFrame();
}
function exit() {
    trace("raus");
    getURL("javascript:self.close();");
}
aber jetzt geht alles so wie es soll.

ich schreib da ne funktion, da da noch mehr kommen soll (evtl. textfelder mit dynmischer textzuweisung, oder was auch immer... is aber noch offen) - ich habs mir einfach so angewöhnt, da bin ich dann immer schön flexibel...

danke jedenfalls, wiedermal was gelernt.

lg,
tom
__________________
www.flickr.com/photos/i47/ - auswahl meiner pics
www.i47.de - portfolio
modul47 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 09:43 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele