Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-01-2010, 15:54   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2009
Beiträge: 7
Problem mit einer Schleife und einer Abfrage

Hallo zusammen,

ich versuche seit ein paar Tagen etwas mit einer Schleife hinzubekommen. Und zwar will ich einen MC einblenden lassen und zwar 5 mal hintereinander. Aber einer nach dem anderen. Mit einer Einfade-Funktion wird er langsam eingeblendet.

Sieht eingentlich so aus ||||| <-- jeder Strich ein MC ^^

Mein erstes Problem. Meine Schleife tut überhaupt nicht. Komme leider nicht auf den Trichter.

Code:
import mx.transitions.*; 
import mx.transitions.easing.*;

var pos_x = 10;
var clipname;

for (var anz = 1; anz <= 10; anz++)
{
	trace(anz);
	pos_x += 50;
	this.createEmptyMovieClip(blend,1);
	this.blend.attachMovie("testMovie","testMovie_",1);
	this.blend._alpha = 0;
	this.blend._y = 10;
	this.blend._x = pos_x;
	trace(pos_x);
	var tw = new Tween(this.blend, "_alpha", mx.transitions.easing.None.easeNone, 0, 75, 0.6, true);
Mein zweites Problem, an das ich mich bisher noch nicht wagen konnte. Ich will, dass nach dem 5ten Einblenden, ein weiterer MC eingeblendet wird, und dafür der erste wieder ausfadet.

Ich bin mir nicht sicher, aber müsste ich dann den ganzen MCs nicht fortlaufende Namen geben?
á la
Code:
clipname = "strich " + anz;
this.createEmptyMovieClip(clipname,1);
Geht das?

Vielen herzichen Dank für eventuelle Hilfe.
loisl_com ist offline   Mit Zitat antworten
Alt 24-01-2010, 17:33   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Der createEmptyMovieClip als ersten Parameter einen String und keine Instanz:
PHP-Code:
//this.createEmptyMovieClip(blend,1);
this.createEmptyMovieClip("blend",anz); 
Du blendest die MCs jetzt gleichzeitig ein, wenn das hintereinander passieren soll, solltest du den Tween.onMotionFinished abfangen und auf eine for-Schleife verzichten. Kleiner Ansatz:
PHP-Code:
import mx.transitions.*; 
import mx.transitions.easing.*;

var 
pos_x:Number 10;
var 
counter:Number 0;

function 
mcBlenden(){
   
pos_x += 50;
   
this.createEmptyMovieClip("blend",1);
   
this.blend.attachMovie("testMovie","testMovie_",1);
   
this.blend._alpha 0;
   
this.blend._y 10;
   
this.blend._x pos_x;
    
   var 
tw = new Tween(this.blend"_alpha"mx.transitions.easing.None.easeNone0750.6true);
   
tw.onMotionFinished = function(){
      
_root.counter ++;
      if(
_root.counter <5){
         
_root.mcBlenden();
      }
   }

}
mcBlenden(); 
  Mit Zitat antworten
Alt 25-01-2010, 22:40   #3 (permalink)
schwer...schwer.
 
Benutzerbild von yuppy
 
Registriert seit: May 2008
Ort: Berlin
Beiträge: 442
aber attached er/sie/es dann nicht alle mcs mit dem gleichen namen auf gleicher höhe?

wäre das nicht besser?

PHP-Code:
this.blend.attachMovie("testMovie","testMovie_"+countercounter); 
oder so

PHP-Code:
this.blend.attachMovie("testMovie","testMovie_"+counterthis.blend.getNextHighestDepth()); 

tante edith:
nee... ist ja auch quatsch.
das problem ist ja schon, daß jedes mal blend neu created wird.
also so?

PHP-Code:
import mx.transitions.*; 
import mx.transitions.easing.*;

var 
pos_x:Number 10;
var 
counter:Number 0;
this.createEmptyMovieClip("blend",1);

function 
mcBlenden(){
   
pos_x += 50;
   
   var 
blen:MovieClip this.blend.attachMovie("testMovie","testMovie_"+countercounter); 
   
blen._alpha 0;
   
blen._y 10;
   
blen._x pos_x;
    
   var 
tw = new Tween(blen"_alpha"mx.transitions.easing.None.easeNone0750.6true);
   
tw.onMotionFinished = function(){
      
_root.counter ++;
      if(
_root.counter <5){
         
_root.mcBlenden();
      }
   }

}
mcBlenden(); 

Geändert von yuppy (25-01-2010 um 23:13 Uhr)
yuppy ist offline   Mit Zitat antworten
Alt 25-01-2010, 23:00   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2009
Beiträge: 7
Danke für Eure Antowrten.

Die Schleife läuft nun. Ist schon böd, wenn man die Funktion nicht nocheinmal aufruft. Da brauch ich mich nicht wundern...

Was die Darstellung an sich betrifft:

Alle Eure Antworten funktioneren und jeder MC wird nun dargestellt. Aber diese verschwinden auch wieder sofort, sobald der counter weitergeht und den nächsten MC erstellt bzw. verschoben wird. Darum war ja meine Frage, ob ich den counter nicht irgendwie in den Namen, Ebene, Level oder was auch immer einbauen kann, damit die MCs bestehen bleiben und ein neuer erschaffen wird und nicht nur verschoben wird.

So wie es yuppie versucht hat: "testMovie_"+counter oder ähnliches.

mfg Loisl (ein er übrigens )
loisl_com ist offline   Mit Zitat antworten
Alt 25-01-2010, 23:15   #5 (permalink)
schwer...schwer.
 
Benutzerbild von yuppy
 
Registriert seit: May 2008
Ort: Berlin
Beiträge: 442
also bei mir war noch ein schreibfehler drin...hab's oben mal geändert.

probier mal damit...

...bei mir funktioniert's...!

Geändert von yuppy (25-01-2010 um 23:35 Uhr)
yuppy ist offline   Mit Zitat antworten
Alt 25-01-2010, 23:31   #6 (permalink)
Neuer User
 
Registriert seit: Dec 2009
Beiträge: 7
Woohey, ja es klappt. Zumal ich sagen muss, dass ich Deine variable blen übersehen hab und blind ein D hingehängt hatte. Dachte das wäre ein Fehler.

Wie dem auch sei: Habe nun gleich das else hingemacht, dass bewirkt, dass das Ding ab 5 MCs von alleine weitergeht.

Super. Danke
Code:
import mx.transitions.*; 
import mx.transitions.easing.*;

var pos_x:Number = 10;
var counter:Number = 0;
this.createEmptyMovieClip("blend",1);

function mcBlenden(){
   pos_x += 50;
   
   var blen:MovieClip = this.blend.attachMovie("testMovie","testMovie_"+counter, counter); 
   blen._alpha = 0;
   blen._y = 10;
   blen._x = pos_x;
    
   var tw = new Tween(blen, "_alpha", mx.transitions.easing.None.easeNone, 0, 75, 0.6, true);
   tw.onMotionFinished = function()
   {
	   _root.counter ++;
	   if(_root.counter <5)
	   {
		   _root.mcBlenden();
	   }
	   else
	   {
		   counter = 0;
		   _root.mcBlenden();
	   }
   }

}
mcBlenden();
loisl_com ist offline   Mit Zitat antworten
Alt 25-01-2010, 23:49   #7 (permalink)
schwer...schwer.
 
Benutzerbild von yuppy
 
Registriert seit: May 2008
Ort: Berlin
Beiträge: 442
aber wenn das dann quasi wieder von vorne losgehen soll, solltest du pos_x auch wieder auf 10 setzen.

woll?
yuppy ist offline   Mit Zitat antworten
Alt 26-01-2010, 08:45   #8 (permalink)
Neuer User
 
Registriert seit: Dec 2009
Beiträge: 7
Die 5 MCs sind nur hier bei dieser "Vorbereitung" der Fall. In der Praxis, werden die MCs kreisförmig aufgebaut sein und dabei gibt es dann kein Anfang oder Ende.

Ich versuche für mein Studium ein sonnenstrahlen-ähnliches Diagramm zu erstellen, bei dem die Anzahl der Strahlen (hier die 5 MCs) die Werte wiederspiegeln. Das ganze dann noch Kreisförmig angesiedelt. Aktuell rotiert das ganze. Ich würde aber gerne den hier ermittelten Aufbau-Effekt haben.

24values

Hier kann man sich das gerne mal anschauen. Hat noch zig Bugs, und funktioniert bei Weitem nicht, so wie ich das gerne hätte. Aber für den Anfang, zählt auch "nur" das Aussehen. Das wurmt mich zwar, aber ist unter dem Zeitdruck auch gar nicht anders möglich. ^^

Nochmals vielen Dank für Eure liebe Hilfe. Mal schauen ob ich den Aufbau-Effekt noch rein- und die Bugs rausbekomme.
loisl_com ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
abfrage, benamen, fortlaufend, mcs, schleife

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Flash CS3] doppelte abfrage in einer if-schleife, geht das? Menso Flash Einsteiger 14 24-03-2009 08:47
wie kann ich in einer for schleife mehrer Objekt einer Klasse mit unterschiedlichen katimp ActionScript 3 6 25-11-2008 10:57
in einer schleife einer variablen mehrere werte geben... keul3 ActionScript 2 4 19-09-2008 16:41
Problem mit einer if-Abfrage sf-mike ActionScript 2 6 16-04-2008 11:33
richtige Schreibweise der Variable einer For-Schleife in einer eigenen Funktion... L.M. ActionScript 1 7 28-08-2005 18:31


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele