Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-09-2004, 23:43   #1 (permalink)
Neuer User
 
Benutzerbild von dummy2
 
Registriert seit: Feb 2003
Ort: Erde
Beiträge: 601
vor zurück dublizieren

Ich beschäftige mich gerade mit dublizieren von mcs.
In meinem Versuch wird eine Art Genstrang aufgebaut, wenn man über nem buton ist. Ist man nicht mehr drauf, sollte sich das Ganze zurück bilden, was bei mir nicht so ganz klappen will. Hat jemand von euch eine Idee, wie das gehen könnte. Hier mein AS und fla..

PHP-Code:
percent=0
function time() {
        
0;
        
tt.onRollOver = function(){
        
a=true
        
}
        
tt.onRollOut = function(){
        
a=false
        
}
        if(
a==true){
        
percent=percent+1
        
}
        if(
a==false){
        
percent=percent-1
        
}
        for (
i=0i<percenti++) {
        
striche "strich"+j;
        
attachMovie("strich"strichej);
        
striche.duplicateMovieClip(linki);
        
this[striche]._x j*5;
        
setProperty(striche_rotation, -j*7.2);
        
setProperty(striche_alpha10);
        
j++;
    }

Angehängte Dateien
Dateityp: rar Preloadernew3.rar (4,2 KB, 2x aufgerufen)
__________________
'''''
|dummysystem.tk current experiment|dummy3.ex6.de old experiment|

Geändert von dummy2 (25-09-2004 um 23:45 Uhr)
dummy2 ist offline   Mit Zitat antworten
Alt 26-09-2004, 02:41   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Wenn ich dich richtig verstanden habe, soll bei einem onRollOver auf einem MC oder Button eine kontinuierliche Aktion ausgelöst werden, oder? Dein Script wird aber nur einmal abgearbeitet. Für kontinuierliche Aktionen benötigst du einen onEnterFrame-Event oder eine setInterval-Funktion. Schau mal nach Beispielen unter "Suchen" und in der Flashhilfe.

BTW: setProperty ist total veraltet (Flash 4!) und schlecht lesbar. Schreib besser alles in der modernen Punktsyntax. Also z.B.:
ActionScript:
  1. //streiche
  2. setProperty(striche, _rotation, -j*7.2);
  3. //setze
  4. this.striche._rotation -= j*7.2L;
Und für percent=percent+1; kann man auch kürzer percent++; schreiben.

Weiterhin kann man IMHO in einen attachten MC nicht mit duplicateMovieClip andere MCs duplizieren, das kann man eigentlich nur mit MCs, die schon zur Laufzeit auf der Bühne liegen. Also nimm besser auch für die eingebetteten MCs den attachMovie...
  Mit Zitat antworten
Alt 26-09-2004, 20:29   #3 (permalink)
Neuer User
 
Benutzerbild von dummy2
 
Registriert seit: Feb 2003
Ort: Erde
Beiträge: 601
mit percent++ bekom ich irgendwie ein error, wahrscheinlich, weils keine Begrenzung hat..

Ich experementier da grad rum.

Experiment: (ist die Maus drüber wird aufgebaut. Ist die runter, wird abgebaut)
FLA:

Der Zähler ist nicht begrenzt also kanns bis ins Unendliche gehen.. egal, ist ja nur ein bsp.

Der AS dazu:
Code:
percent = 0;
function time() {
	j = 0;
	tt.onRollOver = function() {
		if(percent==50){
		a = false;
		}else{
		a = true;
		}
	};
	tt.onRollOut = function() {
		a = false;
	};
	if (a == true) {
		percent = percent+2;
	}
	if (a == false) {
		this[striche]._visible=false
		percent = percent-1;
	}
	for (i=0; i<percent; i++) {
		striche = "strich"+j;
		attachMovie("strich", striche, j);
		striche.duplicateMovieClip(link, i);
		this[striche]._x = j*5;
		//this[striche]._y = i*5;
		this[striche]._rotation = -j*7.2
		this[striche]._alpha =  j+1
		j++;
	}
}
Ich hab das Problem jetzt dadurch gelöst, dass die bereits dublizierten mcs unsichtbar gemacht werden..

Code:
if (a == false) {
		this[striche]._visible=false
		percent = percent-1;
	}
Wie kann man die dublizierten mcs reseten, ohne sie unsichtbar machen zu müssen?
__________________
'''''
|dummysystem.tk current experiment|dummy3.ex6.de old experiment|
dummy2 ist offline   Mit Zitat antworten
Alt 26-09-2004, 21:39   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Wenn du einen boolschen Wert auf true oder false prüft, geht das mit einer if-else-Schleife, zweimal if ist allerdings meist nicht angebracht. Wenn du nämlich in der ersten if-Schleife eine Bedingung umschaltest, wird womöglich auch die zweite if-Bedingung ausgeführt obwohl nicht verlangt.

Darüberhinaus kann man duplizierte MCs mit removeMovieClip wieder löschen wenn sie auf einer dynamischen Tiefe liegen.
ActionScript:
  1. if (a == true) {
  2.    percent += 2;
  3. }
  4. else{
  5.    this[striche].removeMovieClip();
  6.    percent --;
  7. }
  Mit Zitat antworten
Alt 26-09-2004, 22:49   #5 (permalink)
Neuer User
 
Benutzerbild von dummy2
 
Registriert seit: Feb 2003
Ort: Erde
Beiträge: 601
cool, danke
Versteh ich das jetzt richtig..
Sobald ich vom Button bin, entfernt er alle mcs und dubliziert gleichzeitig ein mc weniger als zuvor..

Kostet diese Aktion eigenlich mehr Rechenleistung, wenn er so oft hintereinander entfernt, wiederherstellt,..?
__________________
'''''
|dummysystem.tk current experiment|dummy3.ex6.de old experiment|
dummy2 ist offline   Mit Zitat antworten
Alt 27-09-2004, 12:05   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Kostet diese Aktion eigenlich mehr Rechenleistung, wenn er so oft hintereinander entfernt, wiederherstellt,..?
K.A. probier es aus...
  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 11:12 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele