Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-12-2003, 17:47   #1 (permalink)
Möchtegern-Flasher
 
Registriert seit: Oct 2001
Ort: Goslar am Harz
Beiträge: 1.024
Question AS-Problem mit rotation , MC und ner Schaltfläche...

Moin,

ich bastel grad mal wieder

und stehe vor folgendem Problem.

ich habe ein Objekt-MC welches sich je nach Größe der Platte um 17 ° dreht bzw bei Verkleinerung von Scale unter 120 auf 0° zurückdreht. Soweit funktioniert das auch

AS auf dem Objekt MC(Instanz : arm) :
ActionScript:
  1. onClipEvent (load) {
  2.     speed = 5;
  3. }
  4. onClipEvent (enterFrame) {
  5.     if (_root.platte._yscale<=120) {
  6.         _rotation += (0-_rotation)/speed;
  7.     }
  8.     if (_root.platte._yscale<100) {
  9.         _alpha = _root.platte._yscale;
  10.     }
  11.     if (_root.platte._yscale>120) {
  12.         _rotation += (17-_rotation)/speed;
  13.     }
  14. }

nun habe ich noch einen andern MC gebastelt (Instanzname :table) in welchen zwei Schaltflächen Liegen.

Was ich mache wollt ist einfach das, wenn ich auf den ersten Button klicke, das der Objelt-MC in 0!°Stellugn Fährt, und wenn ich auf den anderen Button Klicke wieder auf 17°-Stellung....

hatte dazu auf der einen Schaltfläche folgendes liegen:

ActionScript:
  1. on (release) {
  2.     _root.arm._rotation += (0-_rotation)/speed;
  3.  
  4. }



und auf der anderen :

ActionScript:
  1. on (release) {
  2.     _root.arm._rotation += (17-_rotation)/speed;
  3.  
  4. }


a) wieso funzt das nicht so wie es sollte.. und..
b) wie bekomme ich das als eine flüssige bewegung (also nicht ruckartig)
__________________
Wenn Baumeister Gebäude bauten, so wie Programmierer Programme machen, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören.

Geändert von Bibop (17-12-2003 um 17:50 Uhr)
Bibop ist offline   Mit Zitat antworten
Alt 17-12-2003, 22:11   #2 (permalink)
Möchtegern-Flasher
 
Registriert seit: Oct 2001
Ort: Goslar am Harz
Beiträge: 1.024
oder funzt das SOOOO nicht wie ich das mir so dachte mit der Schaltfläche
__________________
Wenn Baumeister Gebäude bauten, so wie Programmierer Programme machen, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören.
Bibop ist offline   Mit Zitat antworten
Alt 18-12-2003, 15:46   #3 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
gibt doch mal die .fla
johanness ist offline   Mit Zitat antworten
Alt 18-12-2003, 18:08   #4 (permalink)
Möchtegern-Flasher
 
Registriert seit: Oct 2001
Ort: Goslar am Harz
Beiträge: 1.024
Zitat:
Geschrieben von johanness
gibt doch mal die .fla
hier bitte...
Angehängte Dateien
Dateityp: rar turntable-flash.rar (31,3 KB, 18x aufgerufen)
__________________
Wenn Baumeister Gebäude bauten, so wie Programmierer Programme machen, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören.
Bibop ist offline   Mit Zitat antworten
Alt 21-12-2003, 19:20   #5 (permalink)
Möchtegern-Flasher
 
Registriert seit: Oct 2001
Ort: Goslar am Harz
Beiträge: 1.024
Lightbulb Ist schon eine für mich...

...erleuchtende Erleuchtgugn dabei zutage gekommen die mir bisher verschlossen bleibt ?
__________________
Wenn Baumeister Gebäude bauten, so wie Programmierer Programme machen, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören.
Bibop ist offline   Mit Zitat antworten
Alt 22-12-2003, 01:21   #6 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
kann dein .rar nicht öffnen. egal:

_root.arm._rotation += (0-_rotation)/speed;
lustige schreibweise. ist das selbe wie
_root.arm._rotation -= _rotation/speed;
jedenfalls, das wird sich drehen bis zum jüngsten tag oder die batterie von deimem rechner geht vorher alle.

da ich dein kustwerk nicht sehen kann, aber davon ausgehe, das du von EINEM rad sprichst (_root.arm._rotation ist was anderes als _rotation). wie siehts damit aus?
_root.arm._rotation /= speed;

bzw. lineare drehung (noch auf drehrichtung achten):
if (_root.arm._rotation<vZielWinkel){
_root.arm._rotation += speed;
}
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 22-12-2003, 16:47   #7 (permalink)
Möchtegern-Flasher
 
Registriert seit: Oct 2001
Ort: Goslar am Harz
Beiträge: 1.024
Zitat:
Geschrieben von hgseib
kann dein .rar nicht öffnen. egal:

_root.arm._rotation += (0-_rotation)/speed;
lustige schreibweise. ist das selbe wie
_root.arm._rotation -= _rotation/speed;
jedenfalls, das wird sich drehen bis zum jüngsten tag oder die batterie von deimem rechner geht vorher alle.

da ich dein kustwerk nicht sehen kann, aber davon ausgehe, das du von EINEM rad sprichst (_root.arm._rotation ist was anderes als _rotation). wie siehts damit aus?
_root.arm._rotation /= speed;

bzw. lineare drehung (noch auf drehrichtung achten):
if (_root.arm._rotation<vZielWinkel){
_root.arm._rotation += speed;
}
also Zip kann ich es net upppen da die zip 60 kb groß wäre, also 10 kb zuviel...

die RAR lässt sich net öffnen Öffne die datei doch mal mit dem Proggi WINRAR


---------

naja ein RAD wohl weniger. Es ist , wie es die instanz schon sagt, ein Arm oder besser... ein Tonarm um genau zu sein und der soll sich halt bei 1ten Button(1.Frame) auf einen Winkel von 17 Drehen und bei dem 2ten Button(2.Frame) [is ein und der selbe nur sozusagen 2mal ] wieder auf 0 Grad zurück drehen (drehen, nicht ruckartig!!!)

also
ActionScript:
  1. on (release) {
  2. _root.arm._rotation += (17-_rotation)/speed;
  3.  
  4. }

Lässt den Arm zwar von 17 Grad auf 0 Grad jumpen aber nicht drehen...

und bei
ActionScript:
  1. on (release) {
  2. _root.arm._rotation += (0-_rotation)/speed;
  3. }

passiert garnüscht :-/



Hab ich da irgendwie nen Denkfehler oder wie ??
__________________
Wenn Baumeister Gebäude bauten, so wie Programmierer Programme machen, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören.
Bibop ist offline   Mit Zitat antworten
Alt 22-12-2003, 17:32   #8 (permalink)
Der Alte
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 208
Hallo,

Dein Code:

on (release) {
_root.arm._rotation += (0-_rotation)/speed;

also dieser Code macht weiter nichts als die Rotation auf 0 zu stellen. wenn Du eine Bewegung haben willst, mußt Du etwas in der Art machen:

on (release) {
vari = true;

und als Bildaktion:

onClipEvent (enterFrame) {
if (vari) {
if (_root.arm._rotation >1){
_root.arm._rotation -= 1;
}
}
}


Wie kriegt man hier im Forum eigentlich die Farbe in den Code?
__________________
mfG

http://www.1ststeps.de
Billi_I ist offline   Mit Zitat antworten
Alt 22-12-2003, 17:45   #9 (permalink)
Möchtegern-Flasher
 
Registriert seit: Oct 2001
Ort: Goslar am Harz
Beiträge: 1.024
Zitat:
Geschrieben von Billi_I

Wie kriegt man hier im Forum eigentlich die Farbe in den Code?
[ as ] Code [ /as ] (ohen leerzeichen natürlich)
__________________
Wenn Baumeister Gebäude bauten, so wie Programmierer Programme machen, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören.
Bibop ist offline   Mit Zitat antworten
Alt 22-12-2003, 17:49   #10 (permalink)
Möchtegern-Flasher
 
Registriert seit: Oct 2001
Ort: Goslar am Harz
Beiträge: 1.024
Zitat:
Geschrieben von Billi_I
Hallo,

Dein Code:
ActionScript:
  1. on (release) {
  2.         _root.arm._rotation += (0-_rotation)/speed;
also dieser Code macht weiter nichts als die Rotation auf 0 zu stellen.
richtig.. aber wenn ich sage er soll beim Buttondruck auf 17 Setzen wenn er auf 0 ist, wieso funzt das nicht.. das kapeire ich nicht.....

----------------

Zitat:

wenn Du eine Bewegung haben willst, mußt Du etwas in der Art machen:
ActionScript:
  1. on (release) {
  2.         vari = true;

und als Bildaktion:
ActionScript:
  1. onClipEvent (enterFrame) {
  2.     if (vari) {
  3.         if (_root.arm._rotation >1){
  4.             _root.arm._rotation -= 1;
  5.         }
  6.     }
  7. }

Also per Variablen ?!
__________________
Wenn Baumeister Gebäude bauten, so wie Programmierer Programme machen, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören.
Bibop ist offline   Mit Zitat antworten
Alt 22-12-2003, 19:01   #11 (permalink)
Der Alte
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 208
ja, Du brauchst eine Variable um den Knopfdruck festzustellen.
Und damit es nicht ruckt, mußt Du die Bewegung in kleine Schritte zerlegen.
Bei jedem enterFrame macht er dann einen Schritt, bis das Ziel erreicht ist.

Übrigens habe ich Deine Instanz "table" noch garnicht gefunden. An welcher Stelle wechselt der Button seinen Code?
__________________
mfG

http://www.1ststeps.de
Billi_I ist offline   Mit Zitat antworten
Alt 22-12-2003, 22:18   #12 (permalink)
Möchtegern-Flasher
 
Registriert seit: Oct 2001
Ort: Goslar am Harz
Beiträge: 1.024
Zitat:
Geschrieben von Billi_I
Übrigens habe ich Deine Instanz "table" noch garnicht gefunden. An welcher Stelle wechselt der Button seinen Code?
wenn du ..Die Ebene "Table" Öffnest, kannst du die große graue fläche anwählen, richtig.. ?!
Dieser MC soll die instanz "tabel" sein... war mein fehler "turntable" is der richtige instanzname. der MC heißt in der Bibliothek : TURNTABLE , doppelt anklicken und dann bei START/ STOP- Taste -EBENE....
__________________
Wenn Baumeister Gebäude bauten, so wie Programmierer Programme machen, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören.
Bibop ist offline   Mit Zitat antworten
Alt 23-12-2003, 23:31   #13 (permalink)
Der Alte
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 208
Lightbulb

Hallo,

jetzt hab ich's verstanden.
Deine Berechnung funktioniert nicht, weil die Var "speed" im mc "turntable" nicht bekannt ist.
Außerdem ist "_rotation" immer =0.

Tip: zur Kontrolle die Trace-Funktion verwenden, dann findest Du solche Fehler selbst.

Aber auch wenn Du richtig rechnest. kriegst Du den Ruck nicht raus. Dazu siehe oben.

mfG
__________________
mfG

http://www.1ststeps.de
Billi_I ist offline   Mit Zitat antworten
Alt 23-12-2003, 23:56   #14 (permalink)
Möchtegern-Flasher
 
Registriert seit: Oct 2001
Ort: Goslar am Harz
Beiträge: 1.024
Exclamation hm...

ok.. ich habs nochmal geändert bei mir... jetzt siehst folgend aus :

auf dem MC turntable (instanz: Turntable)

ActionScript:
  1. onClipEvent (load) {
  2.         speed = 10;
  3. }
  4. onClipEvent (enterFrame) {
  5.     if (_root.platte._yscale<100) {
  6.         _alpha = _root.platte._yscale;
  7.     }
  8. }



und auf Button 1 :
ActionScript:
  1. on (release) {
  2.     _root.arm._rotation-= (17-_rotation)/speed; // auf 0° drehen
  3. }



auf Button 2 :
ActionScript:
  1. on (release) {
  2.     _root.arm._rotation+= (17-_rotation)/speed; // auf + 17 ° drehen
  3. }



und auf dem Arm :

ActionScript:
  1. onClipEvent (load) {
  2.     speed = 5;
  3. }
  4. onClipEvent (enterFrame) {
  5.     if (_root.platte._yscale<=120) {
  6.         _rotation += (0-_rotation)/speed;
  7.     }
  8.     if (_root.platte._yscale<100) {
  9.         _alpha = _root.platte._yscale;
  10.     }
  11.     if (_root.platte._yscale>120) {
  12.         _rotation += (17-_rotation)/speed;
  13.     }
  14. }

---------------------------
ok.. hab den Speed vergessen gehabt... jetzt hat sich allerdings ein anderes Problem ergeben dadurch und zwar das, wenn ich auf den Button 1 bzw. Button 1 klicke er zwar leicht in die Richtung "zuckt" wo er hingehen und stehenbleiben soll, aber gleich daraufhin wieder zurückspringt [also auf 17°!]
__________________
Wenn Baumeister Gebäude bauten, so wie Programmierer Programme machen, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören.
Bibop ist offline   Mit Zitat antworten
Alt 25-12-2003, 09:13   #15 (permalink)
Der Alte
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 208
Re: hm...

na klar:
Zitat:
Geschrieben von Bibop
auf dem Arm :

ActionScript:
  1. ...
  2.     if (_root.platte._yscale>120) {
  3.         _rotation += (17-_rotation)/speed;
  4.     }


stellt den Arm unweigerlich auf 17°
__________________
mfG

http://www.1ststeps.de
Billi_I 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:40 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele