Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-08-2003, 21:18   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 60
warum funktioniert das?

Ihr werdet jetzt denken:
Der hat Sorgen!

Naja, ich mir einen Joystick aus den Tutorials von FlashMX geklaut und lass damit ein Schiff schwimmen.
Ich hab den Script nur ein wenig verändert und es funzt, aber ich versteh nicht, wie diese flüssige Bewegung zu Stande kommt.
ich kenn von JavaScript das window.setTimeout() oder so, aber sowas konnte ich hier nicht finden. Nichtmal ein "for" um die bewegung endlos zu lassen.

ActionScript:
  1. // declare and set initial variables and properties
  2. initx = joystick._x;
  3. inity = joystick._y;
  4. speed = 100;
  5. tension = .5;
  6. decay = .5;
  7. // determine whether dragging or not
  8. joystick.onPress = function() {
  9.     dragging = true;
  10. };
  11. joystick.onRelease = function() {
  12.     dragging = false;
  13. };
  14. joystick.onReleaseOutside = function() {
  15.     dragging = false;
  16. };
  17. _root.onEnterFrame = function() {
  18.     with (joystick) {
  19.         if (dragging) {
  20.             angle = Math.atan2(_root._ymouse-inity, _root._xmouse-initx)/(Math.PI/180);
  21.             _rotation = angle;
  22.             with (knob) {
  23.                 _rotation = -angle;
  24.                
  25.                 _x = _parent._xmouse;
  26.                 if (_x>9) {
  27.                     _x = 9;
  28.                 }
  29.            
  30.             }
  31.            
  32.             with (boot) {
  33.                 _rotation = angle;
  34.                 _y -= Math.sin(angle*(Math.PI/180))*(knob._x/80*speed);
  35.                 _x -= Math.cos(angle*(Math.PI/180))*(knob._x/80*speed);
  36.             }
  37.         } else {
  38.             xSpeed = -knob._x*tension+(xSpeed*decay);
  39.             knob._x += xSpeed;
  40.         }
  41.         shaft._width = (knob._x-shaft._x);
  42.     }
  43. };
PJTBBW ist offline   Mit Zitat antworten
Alt 19-08-2003, 21:30   #2 (permalink)
God made me funky..
 
Registriert seit: Apr 2003
Ort: Bremen
Beiträge: 1.067
ActionScript:
  1. _root.onEnterFrame ...

da liegt des Rätsels Lösung, die Genauigkeit hängt jetzt von der Framerate deines Movies ab, da der
onEnterFrame Handler wie der Name schon sagt in jeder Frame aufgerufen wird.
__________________
Kunst ist in erster Linie eine Frage der Form und nicht des Inhalts
Paul Rand
e2e4 ist offline   Mit Zitat antworten
Alt 19-08-2003, 23:26   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 60
thx
ich hatte schon angst, dass es bei älteren rechner langsamer laufen würde bzw schneller auf neueren
PJTBBW ist offline   Mit Zitat antworten
Alt 19-08-2003, 23:49   #4 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Die Framerate ist die Obergenze (plus/minus).

Allerdings kann diese abhängig von der Rechnerleistung (CPU/Grafikkarte - je nach Beanspruchung) auf älteren Rechnern deutlich unterschritten werden - insofern liegst du mit deiner Befürchtung schon richtig ... also immer ausgiebig auf verschiedenen Systemen testen (lassen).

Gruß
rena
__________________
www.rena-hermann.de

The angels have the phone box
rena 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 11:22 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele