Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-04-2006, 17:57   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2003
Ort: Karlsruhe
Beiträge: 89
Drehbewegung Animation

Hallo, ich möchte eine kleine Animation mit ActionScript erstellen
bei der sich 12 Sterne in Elypsenform drehen. Nach Hinten
sollen sie kleiner werden, nach Vorne größer. Eben so,
dass es ein wenig nach 3D ausschaut. Das Skript für
die Drehbewegung habe ich bereits:

Code:
function init(){
	tempo = 4.0;
	cBreite = 200;
	cHoehe = 80;
	zentrumX = Stage.width/2;
	zentrumY = Stage.height/2;
	winkel = 0; // Ursprungsposition
	maxWinkel = 360; // ° Sterndrehung 360 => 1x
}

function kreisbewegen(){
	//	i++;
	// duplicateMovieClip("stern","stern"+i,i);
	this["stern"+i]._x = Math.cos(winkel * Math.PI/180.0) * cBreite + zentrumX;
				this["stern"+i]._y = Math.sin(winkel * Math.PI/180.0) * cHoehe + zentrumY;
	//			this["stern"+i]._alpha = (tempo*100/360)*i;
				winkel += tempo;
}

onLoad = init;
onEnterFrame = kreisbewegen;
Doch wie kann ich es schaffen, dass sich nichit nur 1 Stern bewegt,
sondern 12- Und am Besten mit einstellbarem Abstand zueinander?

Wäre schön, wenn ich hier ein paar Tipps bekommen würde. Bin
für jeden Hinweis dankbar!
Jo3000 ist offline   Mit Zitat antworten
Alt 12-04-2006, 22:57   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Das würde ich über eine Protoype-Funktion lösen, da musst du nur noch die MC-Instanz als Parameter übergeben.
  Mit Zitat antworten
Alt 14-04-2006, 17:37   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2003
Ort: Karlsruhe
Beiträge: 89
Wer findet das Problem?

Hallo,
danke für die Antwort. Ich habe mal versucht das ganze etwas Objektorientierter zu gestalten:

Code:
// Klasse Animation
function Animation(){

	// Eigenschaften
	this.tempo = 1;
	this.cBreite = 200;
	this.cHoehe = 80;
	this.zentrumX = Stage.width/2;
	this.zentrumY = Stage.height/2;
	this.winkel = 0; // Ursprungsposition
	this.maxWinkel = 360; // ° Sterndrehung 360 => 1x

	// Drehmethode
	this.drehen = function(){
		trace(this.zentrumX);
		stern._x = Math.cos(this.winkel * Math.PI/180.0) * this.cBreite + this.zentrumX;
		stern._y = Math.sin(this.winkel * Math.PI/180.0) * this.cHoehe + this.zentrumY;
		this.winkel += this.tempo;
	}

}

Stern1 = new Animation();
onEnterFrame = Stern1.drehen();
Leider bewegt sich aber der Stern bei dieser Variante im Vergleich zur
Prozeduralen Schreibweise garnicht

Woran liegt das?

PS: getraced wird fleißig.
Jo3000 ist offline   Mit Zitat antworten
Alt 14-04-2006, 18:00   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Leider bewegt sich aber der Stern bei dieser Variante im Vergleich zur
Prozeduralen Schreibweise garnicht
Welcher Stern? Du hast doch nur eine Instanz deiner Klasse angelegt, aber keinen MC damit verbunden...
  Mit Zitat antworten
Alt 14-04-2006, 18:03   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2003
Ort: Karlsruhe
Beiträge: 89
Der MC hat den Instanznamen "stern" und befindet sich auf Level 0. Auch mit "_root.stern" bewegt sich nichts. Ich wollte den MC eigentlich aus der Methode ansprechen...
Jo3000 ist offline   Mit Zitat antworten
Alt 14-04-2006, 18:12   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Der MC hat den Instanznamen "stern" und befindet sich auf Level 0
Ja, schön, aber deine Instanz weiss ja nicht, dass sie sich auf den MC beziehen soll... Schau dir mal registerClass an.
  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:08 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele