Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-03-2005, 10:22   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 90
delete this.onEnterFrame funktioniert nicht. :-(

Hi Leute,

Wieso funktioniert hier "delete this.onEnterFrame" nicht? _root.setMove und so werden trotzdem noch aufgerufen. :-(

ActionScript:
  1. onClipEvent (enterFrame) {
  2.         _root.theKey = Key.getCode();
  3.    
  4.         _root.setMove(_root.theKey);
  5.        
  6.     if(_root.points == 90) {
  7.         _root.Alert1.Label.text = "Ergon hat gewonnen! :-)"
  8.         _root.Alert1.fade();
  9.         delete this.onEnterFrame;
  10.     }
  11. }

Danke schonmal! :-)

Gruß Nova
Novanic ist offline   Mit Zitat antworten
Alt 23-03-2005, 10:42   #2 (permalink)
Markus Raab
 
Benutzerbild von derRaab
 
Registriert seit: Aug 2001
Ort: Berlin Friedrichshain
Beiträge: 928
Weil Du mit dem Clipevent von Flash 5 arbeitest und nicht mit der onEnterFrame-function des MovieClips.

Schreib den Code in ein Keyframe und nicht als Clipevent 'auf' den MovieClip!:

ActionScript:
  1. deineMovieClipinstanz.onEnterFrame = function () {
  2.         _root.theKey = Key.getCode();
  3.    
  4.         _root.setMove(_root.theKey);
  5.        
  6.     if(_root.points == 90) {
  7.         _root.Alert1.Label.text = "Ergon hat gewonnen! :-)"
  8.         _root.Alert1.fade();
  9.         delete this.onEnterFrame;
  10.     }
  11. }

Sollte dann gehen...

derRaab ist offline   Mit Zitat antworten
Alt 23-03-2005, 10:45   #3 (permalink)
Phlasher
 
Benutzerbild von gerard
 
Registriert seit: Nov 2001
Ort: Unna-Königsborn (NRW)
Beiträge: 466
Die Functionen die mit onClipEvent definiert werden sind andere als die zB <MCname>.onEnterFrame definiert werden.

In deinem fall deletes du <mc>.onEnterFrame aber nicht die Funktion die beim onClipEvent definiert wurde!!

Algemein wird davon abgeraten onClipEvent zu nutzten und stattdessen:

<movieclipname>.function zu benutzen :

PHP-Code:
<movieclipname>.onEnterframe=function(){

delete this.onEnterframe


__________________
Keep on Flashing
gerard ist offline   Mit Zitat antworten
Alt 23-03-2005, 10:50   #4 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Wenn du bei ClipEvents bleiben willst, weil sie so schön praktisch sind, musst du das load event benutzen, um dann darin den onEnterFrame-Handler zu setzen.

ActionScript:
  1. onClipEvent (load) {
  2.     onEnterFrame = function () {
  3.         _root.theKey = Key.getCode();
  4.         _root.setMove(_root.theKey);
  5.         if (_root.points == 90) {
  6.             _root.Alert1.Label.text = "Ergon hat gewonnen! :-)";
  7.             _root.Alert1.fade();
  8.             delete onEnterFrame;
  9.         }
  10.     };
  11. }

Aber es stimmt schon, was meine Vorposter geschrieben haben.
ClipEvents sind wartungstechnisch ein Graus, weil man immer alle Clips anklicken muss, um zu sehen, ob sie ein Script haben.

mfg r.

Geändert von bokel (23-03-2005 um 10:57 Uhr)
bokel 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 02:03 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele