Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-06-2004, 13:38   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 2
funktionen dynamisch zukennen

hey,

ich habe eine menge flash MX projekten wo folgendes drin steht:

btnFuncs = ["setContent"];
btn_mc.func = btnFuncs[0];
btn_mc.onPress = function() {
[this.func](this);
};
setContent = function () {
trace("setContent");
};

jetzt habe ich nur noch flash mx 2004 pro auf mein rechner
und wenn ich jetzt ein swf exportiere aus flash mx 2004 als ein flashplayer 6 AS 1.0 swf, funktioniert diese code nicht mehr

woran liegt so etwas?

jetzt muss ich stat
[this.func](this);
folgendes
eval([this.func](this))();
verwenden

es wäre wirklich blöd wenn ich jetzt in jeden fla suchen muss wo so etwas steht

danke

ps: entschuldigung für mein deutsch
mezelve ist offline   Mit Zitat antworten
Alt 08-06-2004, 17:14   #2 (permalink)
Neuer User
 
Registriert seit: Aug 2001
Ort: Austria/Vienna
Beiträge: 225
probiers mal so.
1. function setContent vor der Zuweisung definieren
2. innerhalb der Button-Anweisung musst du ja auch noch definieren, wo die function zu finden ist (nämlich im _root)
PHP-Code:
setContent = function () {
    
trace("setContent");
};
btnFuncs = ["setContent"];
btn_mc.func btnFuncs[0];
btn_mc.onPress = function() {
    
_root[this.func]();
    
}; 
lg TF
TigerFox ist offline   Mit Zitat antworten
Alt 08-06-2004, 17:27   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 2
ok, aber in flash mx hat immer folgendes funktioniert

btn_mc.onRelease = function(){
[this.func](argument);
}

und wann man die code jetzt mit flash mx 2004 exportiert
geht es nicht mehr
und kann man es so lösen
eval([this.func](argument));

also meine frage ist warum funktioniert es nicht mehr in flash mx 2004 (beim exportieren als ein flash mx swf)

mezelve
mezelve ist offline   Mit Zitat antworten
Alt 08-06-2004, 19:28   #4 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.298
[this.func](argument);

[] ist ohne "this" oder "_root" davor nicht 'gleich' eval(); , wenn das bei dir in MX funktioniert hat dann war das vielleicht auch nur zufall (fehler) der jetzt in MX 2004 wieder "behoben" wurde !

mit this[func](argunment) sollte es gehen, aber so ganz ohne hat es bei mir noch nie funktioniert !

z.B.:

PHP-Code:
stop();
this.name="mc";
withthis.createEmptyMovieClip("mc",10) ){
    
_x _y 250;
    
beginFill(0xff00ff,100);
        
lineTo(0,50);
        
lineTo(50,0);
    
endFill();
}

_root[this.name].onPress = function(){ // funktioniert
    
trace("hallo");
}

[
this.name].onPress = function(){ // funktioniert NICHT !
    
trace("hallo");

mfg geo
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker
_geo_ 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 13:53 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele