Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-01-2006, 19:58   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2006
Beiträge: 7
Question Probleme mit Schleife

Hi ! Ich fange gerade an mich mit dem Actionscript auseinanderzusetzen und bin dabei gleich auf ein Problem gestoßen.

Ich will ein Objekt rotieren lassen wenn man auf einen Button drückt und zwar in 2° Schritten bis zu sagen wir 40°.

Habe versucht eine Variable n zu erstellen und mit einer do while Schleife den Befehl setproperty so oft auszuführen bis n den Wert 40 hat. Egal bei welcher Schleifenform, Flash bricht jedes Mal ab weil diese Schleife das swf zu sehr ausbremst.
Habe auch versucht das Objekt einfach nur drehen zu lassen auf buttondruck mit setproperty("objekt", _rotation, _rotation+2); und mit den schleifen doch da dreht er nur um 2° und dann nicht weiter.

Weiß jemand wo das Problem liegt ?

Hier mal die Schleifencodes:

PHP-Code:
on (release) {
        
n=0;
        do { 
        
setProperty("objekt"_rotation2);
        
n+1;
        } while (
n<40);

PHP-Code:
on (release) {
        
n=0;
        while (
n<40) {
            
setProperty("objekt"_rotation2);
        
n+1;
}

Vielleicht hat ja auch einer nen Vorschlag wie es richtig gemacht wird. Freue mich auf jeden Fall für jegliche Hilfe !
Lathrodin ist offline   Mit Zitat antworten
Alt 18-01-2006, 21:04   #2 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
hi und willkommen im FF,

ab flash 6 solltest du die punktsyntax benutzen:

ich gehe davon aus, das das zu drehende objekt auf der hauptbühne liegt...

ActionScript:
  1. on (release) {
  2.     var object = _root.object;
  3.     var helper = _root.createEmptyMovieClip("helper", 1);
  4.     helper.onEnterFrame = function() {
  5.         if (object._rotation<=40) {
  6.             object._rotation += 2;
  7.         } else {
  8.             removeMovieClip(this);
  9.         }
  10.     };
  11. }

on (release) kennst du ja schon...

Zitat:
var object = _root.object;
var helper = _root.createEmptyMovieClip("helper", 1);
mit "var object=" hole ich mir den pfad zum zu drehenden movieclip in die funktion
mit "var helper=" erstelle ich mir ebenfalls eine referenz zu dem auf der hauptbühne dynamisch (_root.createEmptyMovieClip) erzeugten movieclip "helper"

Zitat:
helper.onEnterFrame = function() {
mit onEnterFrame erstelle ich eine frame-schleife innerhalb des helper-mc's die dafür sorgt, das der wert _rotation für das object hochgezählt werden...

mit der if abfrage wird ausgewertet ob die _rotation des objects schon 40 erreicht hat und wenn ja wird einfach der helper-mc gelöscht und das object bleibt bei 40 grad stehen...

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!

Geändert von fraggle two (18-01-2006 um 21:16 Uhr)
fraggle two ist offline   Mit Zitat antworten
Alt 18-01-2006, 21:53   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2006
Beiträge: 7
Hey wunderbar, es funktioniert, vielen Dank für deine schnelle Hilfe !
Lathrodin 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 02:51 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele