Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-01-2005, 18:26   #1 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
for schleife für mc`s....!?

aloha!

schleifen hab ich noch nicht so intus......

folgendes möchte ich machen:
eine sonne ist zu 50% von jalousie bedeckt, die jalousie soll Random-mäßig(wenn ich das schaffe.... ) auf und zu klappen;

ich habe habe ein Sonnen-mc, darin ist das jalousie-mc, darin wiederum sind 14 jalousiestreifen-mc's, instanznamen der einzelteile der jalousie: MC_jal1.....MC_jal14;

ich möchte nun ,wenn das geht, diese 14 mc's mit der schleife auf einmal ansprechen und mit folgenden code habe ich mal begonnen:

ActionScript:
  1. stop();
  2. _root.MC_sonne.MC_jalousie.onEnterFrame = function(){
  3.     for(i = 1,i<15,i++){
  4.         this.MCjal[i].
  5.         }
  6.     }

jetzt weiß ich net amal, ob ich die MC's so richtig benenne: "MC_jal[i]" ?
geschweige denn richtig begonnen habe.....?
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary

Geändert von andretti (30-01-2005 um 18:27 Uhr)
andretti ist offline   Mit Zitat antworten
Alt 30-01-2005, 18:38   #2 (permalink)
A..
PostTraum
 
Registriert seit: Apr 2003
Beiträge: 300
du müsstest erstmal vor dem onEnter ein schleife [i] für die single jealousien vorrasusetzen.

ActionScript:
  1. for (i= 1;i<15;i++) { // denk an die ; und nicht ,
  2. _root.MC_sonne..MC_jalousie["MC_jal"+i].onEnterFrame = function(){
  3.     // tue was
  4.     }
  5. }
dann frag ich mich was hast du mit den jealousien vor ? Auf und zuklappen ? tween ?

Geändert von A.. (30-01-2005 um 18:44 Uhr)
A.. ist offline   Mit Zitat antworten
Alt 30-01-2005, 18:39   #3 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Ich würde dies nicht mit onEnterFrame machen, da Du ja dann bei 30 fps deine mc's 30 mal in der Sekunde manipulierst und somit nicht viel sehen wirst.
Würde da eine "normale" Funktion nehmen und die immer mal so aufrufen.
Dann würde ich einen Mc nehmen der als Container dient und dort die einzelnen jalousien reinladen (jalousie1, jalousie2, jalousie3,...).
Und dann kannst Du sie auch so aufrufen:
PHP-Code:
//_root.MC_sonne.MC_jalousie enthällt die einzelnen jalosien
// for-Schleife keine Kommas!!!!!
    
for(var 1;15;i++){ 
//würde jetzt die sichtbarkeit der einzelnen jalosien ändern
       
_root.MC_sonne.MC_jalousie["jalosie" i]._alpha 50;

__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 30-01-2005, 19:03   #4 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
Zitat:
Zitat von rendner[i]
Ich würde dies nicht mit onEnterFrame machen, da Du ja dann bei 30 fps deine mc's 30 mal in der Sekunde manipulierst und somit nicht viel sehen wirst.
Würde da eine "normale" Funktion nehmen und die immer mal so aufrufen.
Dann würde ich einen Mc nehmen der als Container dient und dort die einzelnen jalousien reinladen (jalousie1, jalousie2, jalousie3,...).
Und dann kannst Du sie auch so aufrufen:
PHP-Code:
//_root.MC_sonne.MC_jalousie enthällt die einzelnen jalosien
// for-Schleife keine Kommas!!!!!
    
for(var 1;15;i++){ 
//würde jetzt die sichtbarkeit der einzelnen jalosien ändern
       
_root.MC_sonne.MC_jalousie["jalosie" i]._alpha 50;

danke für die raschen antworten;

@ A...:

per yscale skalieren.....auf und zu halt.......

@rendner[i] :

ich weiß jetzt net genau, was du meinst?

leeres container-mc, für was genau?

die jalousie hat sonnenform- siehe bild; bedeutet: unterschiedlich groß(herausforderung hoch 2 )

hier das bild
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 30-01-2005, 19:09   #5 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Na Du erstellst Dir einen mc in dennen Du alle einzelne jalosien reinlädts (dieser wäre dann schon der Container).
Bsp.:
PHP-Code:
this.createEmptyMovieClip("jalosieCon"1);
for(var 
115 i++){
    
jalosieCon.attachMovie("jalosie""jalosie" ii);

Dann hätteste jetzt alle mcs in einem "Container".

EDIT:
Hab gerade auf Deinem Bild gesehen das Du die jalosien schon auf der Bühne hast. Dann kannste meinen Vorschlag ruhig vergessen.
__________________
ERROR: Signature is too large

Geändert von rendner[i] (30-01-2005 um 19:11 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 30-01-2005, 19:26   #6 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
oki doki;

nachträglich zur erläuterung:

es liegt schon alles auf der bühne!

aber wie sprech ich nach(in) der schleife die mc's richtig an?:

ActionScript:
  1. this.MC_jal[i].//wie bezeiche ich die mc's mit dem "i" richtig?
  2.  
ActionScript:
  1. stop();
  2. wert1 = 2;
  3. function aufzu() {
  4.     this._yscale -= wert1;
  5.     this._yscale>=50 ? wert1=-.25 : 0;
  6.     this._yscale<=50 ? wert1=.25 : 0;
  7. }
  8. for (i=1; i<15; i++) {
  9.     MC_sonne.MC_jalousie.MC_jal[i].setInterval(aufzu, 1500);
  10. }
so vielleicht?
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary

Geändert von andretti (30-01-2005 um 19:40 Uhr)
andretti ist offline   Mit Zitat antworten
Alt 30-01-2005, 19:27   #7 (permalink)
A..
PostTraum
 
Registriert seit: Apr 2003
Beiträge: 300
Zitat:
Zitat von andretti
oki doki;

nachträglich zur erläuterung:

es liegt schon alles auf der bühne!

aber wie sprech ich nach(in) der schleife die mc's richtig an?:

ActionScript:
  1. this.MC_jal[i].//wie bezeiche ich die mc's mit dem "i" richtig?
  2.  
ActionScript:
  1. this["MC_jal"+i].//wie bezeiche ich die mc's mit dem "i" richtig?
  2.  
A.. ist offline   Mit Zitat antworten
Alt 30-01-2005, 19:33   #8 (permalink)
A..
PostTraum
 
Registriert seit: Apr 2003
Beiträge: 300
ActionScript:
  1. stop();
  2. wert1 = 2;
  3. function aufzu() {
  4.     this._yscale -= wert1;
  5.     this._yscale>=50 ? wert1=-.25 : 0;
  6.     this._rotation<=50 ? wert1=.25 : 0;
  7. }
  8. for (i=1; i<15; i++) {
  9.     MC_sonne.MC_jalousie["MC_jal"+i].setInterval(aufzu, 1500);
  10. }

deine aufzu funktion hab ich jetzt nicht geprüft...
A.. ist offline   Mit Zitat antworten
Alt 30-01-2005, 19:42   #9 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Das i enthällt einen Zahlenwert.
Somit würdest Du mit Deiner for-Schleife folgende mc's ansprechen:

this.MC_jal1;
this.MC_jal2;
...
this.MC_jal14;

Also müsten Deine MC's Instanznamen besitzen.
Die erste jalosie MC_jal1, die zweite MC_jal2, ...

PHP-Code:
stop(); 
wert1 2
// das geht nicht!!!! (auf was soll sich das this beziehen???) 
function aufzu() { 
    
this._yscale -= wert1
    
this._yscale>=50 wert1=-.25 0
    
this._rotation<=50 wert1=.25 0

for (
i=1i<15i++) { 
    
MC_sonne.MC_jalousie.MC_jal[i].setInterval(aufzu1500); 

__________________
ERROR: Signature is too large

Geändert von rendner[i] (30-01-2005 um 20:19 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 30-01-2005, 20:11   #10 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
ActionScript:
  1. stop();
  2. for (i=1; i<15; i++) {
  3.     wert1 = .5;
  4.     MC_sonne.MC_jalousie["MC_jal"+i].onEnterFrame = function() {
  5.         this._yscale += wert1;
  6.         this._yscale>=100 ? wert1=-.7 : 0;
  7.         this._yscale<=20 ? wert1=.7 : 0;
  8.     };
  9. }

mittlerweil(dank Euch) selber drauf gekommen;
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 31-01-2005, 06:03   #11 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
um dem ganzen Zufall zu geben.....stimmt das so?
ActionScript:
  1. stop();
  2. function bewegung(){
  3. wert1 = .5;
  4.     this.onEnterFrame = function() {
  5.         this._yscale += wert1;
  6.         this._yscale>=100 ? wert1=-.7 : 0;
  7.         this._yscale<=20 ? wert1=.7 : 0;
  8.     };
  9.  
  10. }
  11.  
  12.  
  13. for (i=1; i<15; i++) {
  14.         MC_sonne.MC_jalousie["MC_jal"+i].setInterval(bewegung, Math.floor(Math.Random(5)*500));
  15. }
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 31-01-2005, 12:44   #12 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
kein kommentar?
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 31-01-2005, 18:34   #13 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
weil's so schön ist, habe ich nun folgendes konstrukt gebaut:
ActionScript:
  1. stop();
  2. //**LOGO**//
  3. for (i=1; i<15; i++) {
  4.     _root["MC_jal"+i]._yscale = 0;
  5.     _root.MC_sun.onEnterFrame = function() {
  6.         if (this._y>=11) {
  7.             this._y -= 5;
  8.             _root.MC_window.MC_glass._alpha -= 1;
  9.         } else if (this._y<=11) {
  10.             this._y = 11;
  11.             delete this.onEnterFrame;
  12.             if (_root.MC_window.MC_glass._alpha<=20) {
  13.                 _root.MC_window.MC_glass._alpha = 20;
  14.                 delete _root.MC_window.MC_glass.onEnterFrame;
  15.             }// traceabfrage _root.MC_jal1._yscale - wirft "0" aus; ab da gehts nimmer weiter(ist die schleife aus?):
  16.             if (_root["MC_jal"+i]._yscale <= 70) {
  17.                 _root["MC_jal"+i].onEnterFrame = function() {
  18.                     _root["MC_jal"+i]._yscale += 3;// traceabfrage _root.MC_jal1._yscale - tracefenster geht gar nicht erst auf
  19.                 };
  20.             } else if (_root["MC_jal"+i]._yscale>=70) {
  21.                 _root["MC_jal"+i]._yscale = 70;
  22.                 delete _root["MC_jal"+i].onEnterFrame;
  23.             }
  24.         }
  25.     };
  26. }

der sinn ist:
fenster;
sonne geht auf;
es wird heller( na wahrscheinlich );
die jalousie geht automatisch zu;
es funganiert bis:
ActionScript:
  1. if (_root["MC_jal"+i]._yscale <= 70) {...............

die jalousie "geht aber net zu".......
siehe anhang-.fla
Angehängte Dateien
Dateityp: rar logo_2.rar (36,7 KB, 10x aufgerufen)
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary

Geändert von andretti (31-01-2005 um 18:56 Uhr)
andretti ist offline   Mit Zitat antworten
Alt 31-01-2005, 18:56   #14 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Ziemlich unübersichtlich und ein haufen Fehler.
Probiers mal hiermit.
PHP-Code:
stop();
//**LOGO**//
for (var 1i<15i++) {
    
_root["MC_jal"+i]._yscale 0;
    if (
_root["MC_jal"+i]._yscale<=100) {
        
_root["MC_jal"+i].onEnterFrame = function() {
            
this._yscale += 3;
            if (
this._yscale>=100) {
                
this._yscale 100;
                
delete this.onEnterFrame;
            }
        };
    }
}
_root.MC_sun.onEnterFrame = function() {
    if (
this._y >= 11) {
        
this._y -= 5;
        
_root.MC_window.MC_glass._alpha--;
    } else if (
this._y<=11) {
        
this._y 11;
        if (
_root.MC_window.MC_glass._alpha<=20) {
            
_root.MC_window.MC_glass._alpha 20;
            
delete _root.MC_window.MC_glass.onEnterFrame;
        }
        
delete this.onEnterFrame;
    }
}; 
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 31-01-2005, 19:02   #15 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
danke erstmal für deine antwort;

aber die jalousie soll ja erst zumachen, wenn die sonne auf _y = 11 steht...

da hast du aber keine bedingung drin.....?
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti 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