Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-11-2005, 21:26   #1 (permalink)
Scriptlerbastler
 
Registriert seit: Sep 2004
Beiträge: 122
For Schleife & Funktion

Nabend nochmal,

habe heute gerade ein wenig Zeit zum basteln. Nun hier meine Frage ich
rufe eine funktion auf, in einer Schleife:

PHP-Code:
for (i=0i<eckArr.lengthi++) {
            
split(this['mc_eck'+i], eckArr[i][0], eckArr[i][1], schnell);
        } 

hier die Funktion
PHP-Code:
function split(mccpoXpoYspeed) {
    
mcc.onEnterFrame = function() {
        
this._x += (poX-this._x)/speed;
        
this._y += (poY-this._y)/speed;
        if (
this._y == poX && this._x == poY) {
            
delete this.onEnterFrame;
        }
    };

Frage: Wie kann ich es umgehen das die for Schleife die Funktion nicht immer wieder überschreibt? Dadurch das sie so schnell durchzählt wird die Funktion nicht ausgeführt. Kann ich es überhaupt umgehen

grübel
M(a)c_Flash ist offline   Mit Zitat antworten
Alt 24-11-2005, 21:31   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Die for-Schleife überschreibt da nix, da du ja verschiedene mc's benutzt.
Ausserdem kann Flash mit schnell nix anfangen da die Funktion dort eine Zahl haben will...oder ist das eine Variable die eine Zahl enthält?

Ausserdem würde ich den Namen der Funktion ändern, weil "split" vergeben ist, ist eine Funktion der Klasse String.
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 24-11-2005, 21:37   #3 (permalink)
Scriptlerbastler
 
Registriert seit: Sep 2004
Beiträge: 122
schnell ist eine Variable

PHP-Code:
var schnell 5
M(a)c_Flash ist offline   Mit Zitat antworten
Alt 24-11-2005, 21:47   #4 (permalink)
Scriptlerbastler
 
Registriert seit: Sep 2004
Beiträge: 122
So funktioniert es:

PHP-Code:
for (i=0i<eckArr.lengthi++) {
            
spli(mc_eck3eckArr[i][0], eckArr[i][1], schnell);
        } 
Aber anstat der zahl "3" sollte "i" stehen doch, wenn ich diese Zahl gegen den Buchstaben austausche funktioniert es nicht mehr.

grübel
M(a)c_Flash ist offline   Mit Zitat antworten
Alt 24-11-2005, 22:04   #5 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
probier mal mit der hier:
PHP-Code:
function spli(mccpoXpoYspeed) {
    
    
mcc.px poX;
    
mcc.py poY;

    
mcc.onEnterFrame = function() {
        
        
this._x += (this.px this._x) / speed;
        
this._y += (this.py this._y) / speed;
        
        if (
this._y == this.px && this._x == this.pydelete this.onEnterFrame;
        
    };
    

habs grad mal umgescripted, aber nicht getestet..

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 24-11-2005, 22:17   #6 (permalink)
Scriptlerbastler
 
Registriert seit: Sep 2004
Beiträge: 122
hi salazar

danke für dein script (ist es voher nicht auch so gewesen?)

nun zu dem problem ich hab nochmal ein wenig rumgespielt und folgendes entdekt>


PHP-Code:
spli(['mc_eck'+i], eckArr[i][0], eckArr[i][1], schnell); // Funktioniert NICHT
spli(mc_eck0eckArr[i][0], eckArr[i][1], schnell); // Funktioniert !!! 
Woran könnte das liegen?

grübel
M(a)c_Flash ist offline   Mit Zitat antworten
Alt 24-11-2005, 22:18   #7 (permalink)
Scriptlerbastler
 
Registriert seit: Sep 2004
Beiträge: 122
hier mal das ganze script vielleicht hilft das weiter>

PHP-Code:
function spli(mccpoXpoYspeed) {
    
mcc.px poX;
    
mcc.py poY;
    
mcc.onEnterFrame = function() {   
        
this._x += (this.px this._x) / speed;
        
this._y += (this.py this._y) / speed;
        if (
this._y == this.px && this._x == this.py)
        
delete this.onEnterFrame;
        };
    } 
//
var breite:Number 250 // 2/500;
var hoehe:Number 200 // 2/400
var schnell:Number 5;
 
//
var eckArr:Array = new Array(new Array(breite-50hoehe-20), 
                             new Array(
breite+50hoehe-2090),
                             new Array(
breite-50hoehe+20270), 
                             new Array(
breite+50hoehe+20180));
//
for (i=0i<eckArr.lengthi++) {
    
trace(eckArr[i]);
    
this.attachMovie("mc_eck""mc_eck"+i200+i, {_x:eckArr[i][0], _y:eckArr[i][1], _rotation:eckArr[i][2]});
}
//
this._parent.puu.onRelease = function() {
    
//
    
if (mc_eck0._x<breite-52) {
        
//
        
for (i=0i<eckArr.lengthi++) {
            
spli(["mc_eck"+i], eckArr[i][0], eckArr[i][1], schnell);  // Funktioniert NICHT
        
}    
        
//
        //split(mc_eck0, breite-50, hoehe-20, schnell);
        //split(mc_eck1, breite+50, hoehe-20, schnell);
        //split(mc_eck2, breite-50, hoehe+20, schnell);
        //split(mc_eck3, breite+50, hoehe+20, schnell);
    
} else {
        
spli(mc_eck000schnell);
        
spli(mc_eck1breite*20schnell);
        
spli(mc_eck20hoehe*2schnell);
        
spli(mc_eck3breite*2hoehe*2schnell);
    }
}; 
M(a)c_Flash ist offline   Mit Zitat antworten
Alt 24-11-2005, 22:27   #8 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
PHP-Code:
spli(['mc_eck'+i], eckArr[i][0], eckArr[i][1], schnell); // Funktioniert NICHT 
weil kein pfad davor steht...

Zitat:
danke für dein script (ist es voher nicht auch so gewesen?)
nein. schau mal genauer hin!

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 24-11-2005, 22:40   #9 (permalink)
Scriptlerbastler
 
Registriert seit: Sep 2004
Beiträge: 122
Zitat:
Zitat von salazar
nein. schau mal genauer hin!
stimm du hast recht.

bzgl. dem Pfad es funktioniert mit pfad auch nicht.

ich häng mal noch die fla dran. Nachher werd ich ins Bett gehen und morgen nochmal vorbei schauen.

thx so far, talk to you later guy's
Angehängte Dateien
Dateityp: zip einladen.zip (23,5 KB, 2x aufgerufen)
M(a)c_Flash ist offline   Mit Zitat antworten
Alt 24-11-2005, 22:45   #10 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
habe noch kein flash8 @ home...
cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 24-11-2005, 22:55   #11 (permalink)
Scriptlerbastler
 
Registriert seit: Sep 2004
Beiträge: 122
hier noch ein zip file mit 2004 mx vers.
Angehängte Dateien
Dateityp: zip einladenmx04.zip (21,5 KB, 0x aufgerufen)
M(a)c_Flash ist offline   Mit Zitat antworten
Alt 25-11-2005, 01:25   #12 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
PHP-Code:
var zahl:Number 1;
function 
beschreibe(clip):Void {
    
trace("Höhe: " clip._height newline "Breite: " clip._width);
}
//clip auf _root heißt clip1
beschreibe(["clip" zahl]); //geht nicht
beschreibe(this["clip" zahl]); //geht 
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 25-11-2005, 02:12   #13 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Das geht auch:
PHP-Code:
beschreibe(eval("clip" zahl)); 
Oder das hier geht auch:
PHP-Code:
function beschreibe(clip):Void {
    
clip = eval(clip);
    
trace("Höhe: " clip._height newline "Breite: " clip._width);
}
beschreibe("clip" zahl); 
Ob es sinnvoll ist, muss jeder für sich entscheiden.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz 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 04:12 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele