Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-11-2004, 15:39   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 10
optimieren von with()

Hi,

folgendes Problem:
Ich möchte den folgenden code zusammenfassen da er mehrmals hintereinander ausgeführt wird und sich außer den "mcNamen" (with)
nichts ändert. Gibt es eine Möglichkeit die with-Anweisung die ja immer gleich ist verschiedenen mcs zuzuweisen?


PHP-Code:
function tafel_1(){
with(mcName0){setBounds({xMin:-500yMin:-500yMax:Stage.height+500xMax:Stage.width+500});
                
damp=.2clearSpringPoints(); addSpringPoint((versatz*0)+einzugabstandobenplak1);
                
repelMouse(true.250);}
with(mcName1){setBounds({xMin:-500yMin:-500yMax:Stage.height+500xMax:Stage.width+500});
                
damp=.2clearSpringPoints(); addSpringPoint((versatz*1)+einzugabstandobenplak2);
                
repelMouse(true.250);}
with(mcName2){setBounds({xMin:-500yMin:-500yMax:Stage.height+500xMax:Stage.width+500});
                
damp=.2clearSpringPoints(); addSpringPoint((versatz*2)+einzugabstandobenplak3);
                
repelMouse(true.250);}
with(mcName3){setBounds({xMin:-500yMin:-500yMax:Stage.height+500xMax:Stage.width+500});
                
damp=.2clearSpringPoints(); addSpringPoint((versatz*3)+einzugabstandobenplak4);
                
repelMouse(true.250);}
with(mcName4){setBounds({xMin:-500yMin:-500yMax:Stage.height+500xMax:Stage.width+500});
                
damp=.2clearSpringPoints(); addSpringPoint((versatz*4)+einzugabstandobenplak5);
                
repelMouse(true.250); 
so dass ich eine function hätte die dann auf belibig viele mcs zugewiesen wird:
PHP-Code:
function X(){setBounds({xMin:-500yMin:-500yMax:Stage.height+500xMax:Stage.width+500});
                
damp=.2clearSpringPoints(); addSpringPoint((versatz*4)+einzugabstandobenplak5);
                
repelMouse(true.250);} 
dann würde mcName1, mcName2... die function X() zugewiesen

Mir is schon klar das es mit ner function wahrscheinlich nicht hinhaut, also was sollte ich stattdessen machen?? Vielleicht mit .apply? hilfe!

(der Versatz in der addSpringPoint Anweisung ändert sich zwar aber ist zu vernachlässigen für mein Problem)

thx!

Geändert von Painmonster (25-11-2004 um 15:42 Uhr)
Painmonster ist offline   Mit Zitat antworten
Alt 25-11-2004, 21:24   #2 (permalink)
Neuer Benutzer
 
Benutzerbild von webxvideo
 
Registriert seit: Nov 2003
Ort: berlin
Beiträge: 883
PHP-Code:
function tafel_1(max){ 
    for(
i=0;i<max;i++){
        var 
mc=eval("mcName"+i);
        
with(mc){
            
setBounds({xMin:-500yMin:-500yMax:Stage.height+500xMax:Stage.width+500}); 
            
damp=.2clearSpringPoints(); addSpringPoint((versatz*0)+einzugabstandobenplak1); 
            
repelMouse(true.250);
        } 
    }
}
tafel_1(4); 
webxvideo ist offline   Mit Zitat antworten
Alt 26-11-2004, 09:44   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 10
Danke schon mal dafür aber ist so nicht ganz praktikabel für mich. Vielleicht sollte ich die Frage umformulieren. Wäre es möglich ein Stringobjekt in die With() Anweisung einzusetzen?
zB
PHP-Code:
string1="x";
with(string){irgentwas
Bei mir klappts nicht - hat jemand ne Idee.

THX
Painmonster ist offline   Mit Zitat antworten
Alt 26-11-2004, 11:01   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 18
Hi

Kannst Du nicht deine MC-Namen in ein Array packen

var mcnames = new Array("mc1","mc2","mc3","mc4");

und das dann der Funktion übergeben, also sowas in der Art

PHP-Code:
function tafel_1(mcnames){
for(
i=0;i<mcnames.length;i++){
with(mcnames[i]){
//tu was
}
}

Den Faktor für den Versatz erhältst Du dann durch den Wert des Zählers in der Schleife.

lg
NoNick ist offline   Mit Zitat antworten
Alt 26-11-2004, 12:20   #5 (permalink)
Neuer Benutzer
 
Benutzerbild von webxvideo
 
Registriert seit: Nov 2003
Ort: berlin
Beiträge: 883
Zitat:
Wäre es möglich ein Stringobjekt in die With() Anweisung einzusetzen?
Genau das macht doch mein Script!

PHP-Code:
var mc=eval(dein_string); 
with (mc){
    
// ...

webxvideo ist offline   Mit Zitat antworten
Alt 26-11-2004, 12:24   #6 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 10
Hi,

ich hab jetzt folgendes gemacht
meinem array hab ich den ersten wert zugewiesen:
PHP-Code:
mc_a = new Array("pmod"
und ihn dann in der
PHP-Code:
function tafel_1(){
     
with(mc_a[0]){setBounds... } 
verwendet - aber!
es klappt nicht, warum??
Sorry hab mich immer um arrays gedrückt das rächt sich jetzt

Geändert von Painmonster (26-11-2004 um 12:45 Uhr)
Painmonster ist offline   Mit Zitat antworten
Alt 26-11-2004, 12:49   #7 (permalink)
Neuer Benutzer
 
Benutzerbild von webxvideo
 
Registriert seit: Nov 2003
Ort: berlin
Beiträge: 883
Also einmal probier ich's noch.
eval();

PHP-Code:
mc_a = new Array("pmod");

function 
tafel_1(){ 
    var 
mc=eval(mc_a[0]);
    
with(mc){setBounds... } 
webxvideo ist offline   Mit Zitat antworten
Alt 26-11-2004, 12:53   #8 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 10
DANKE!

sorry hatte ich wohl übersehen - war zu sehr damit beschäftigt mich über mich selbst zu ärgern
Painmonster ist offline   Mit Zitat antworten
Alt 26-11-2004, 12:58   #9 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 18
Es funktioniert auch so (im Bsp. mit absolutem Pfad zum clip)

_root[mcnames[i]], das hatte ich in der Eile vergessen zu tippen, sorry

also

with(_root[mcnames[i]]){}
NoNick 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 00:05 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele