Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-04-2005, 14:50   #1 (permalink)
FlashLove@FirstSight
 
Benutzerbild von FLASHStyler
 
Registriert seit: Feb 2003
Beiträge: 2.460
Problem mit Rechnung

ActionScript:
  1. //v1
  2. scroll_but_right.onPress = function() {
  3.     _global.ziel = holder._x - 902
  4.     if (holder._x > -1803.6) {
  5.         if (holder._x != ziel) {
  6.         holder.onEnterFrame = function() {
  7.             holder._x += Math.floor((ziel-holder._x)/5);
  8.             trace(holder._x + "/" + ziel);
  9.             if (holder._x==ziel) {
  10.                 _root.scroll_but_right._alpha = 100;
  11.                 _root.scroll_but_right.enabled = true;
  12.                 delete this.onEnterFrame;
  13.                 holder._x = ziel;
  14.             }
  15.         }
  16.     }
  17.     this.enabled = false;
  18.     this._alpha = 1;
  19.     }
  20. }
  21. scroll_but_left.onPress = function() {
  22.     ziel = holder._x + 902
  23.     if (holder._x < 0) {
  24.         if (holder._x > -1803.6) {
  25.             if (holder._x != ziel) {
  26.             holder.onEnterFrame = function() {
  27.                 holder._x += int((ziel-holder._x)/5);
  28.                 trace(holder._x + "/" + ziel);
  29.                 if (holder._x==ziel) {
  30.                     _root.scroll_but_left._alpha = 100;
  31.                     _root.scroll_but_left.enabled = true;
  32.                     delete this.onEnterFrame;
  33.                     holder._x = ziel;
  34.                 }
  35.             }
  36.         }
  37.         this.enabled = false;
  38.         this._alpha = 1;
  39.         }
  40.     }
  41. }
  42. //v2
  43. function scrolling_navi(ziel, a) {
  44.     if (holder._x != ziel) {
  45.         this.onEnterFrame = function() {
  46.             holder._x += Math.floor((ziel-holder._x)/5);
  47.             trace(holder._x + "/" + ziel);
  48.             if (holder._x==ziel) {
  49.                 _root.scroll_but_right._alpha = 100;
  50.                 _root.scroll_but_right.enabled = true;
  51.                 _root.scroll_but_left._alpha = 100;
  52.                 _root.scroll_but_left.enabled = true;
  53.                 delete this.onEnterFrame;
  54.                 holder._x = ziel;
  55.             }
  56.         }
  57.     }
  58. }
  59. scroll_but_right.onPress = function() {
  60.     if (holder._x > -1803.6) {
  61.     scrolling_navi((holder._x - 902), Math.floor);
  62.     this.enabled = false;
  63.     this._alpha = 1;
  64.     }
  65. }
  66. scroll_but_left.onPress = function() {
  67.     if (holder._x < 0) {
  68.     scrolling_navi(int(holder._x + 902), int);
  69.     this._alpha = 1;
  70.     this.enabled = false;
  71.     }
  72. }
Wenn ich einmanl but_right drücke dann ergibt ziel: -902
wenn ich wieder zurück scrollen will... dann ergibt ziel; -4, obwohl 0 sein sollte! Das verstehe ich irgendwie nich...
Ich rechne schon extra mit gerundeten Werten.. sollte doch eigentlich klappen...

Und wenn ich zweimal vorscrolle dann will das ding garnich mehr zurück!


Liegt wohl an dem Faktor "5"... doch smooth soll es schon werden...
__________________
www.johannes-erhardt.com | blog | xing me baby

Geändert von FLASHStyler (29-04-2005 um 15:11 Uhr)
FLASHStyler ist offline   Mit Zitat antworten
Alt 29-04-2005, 16:37   #2 (permalink)
User
 
Benutzerbild von jeypack
 
Registriert seit: Sep 2003
Ort: Essen
Beiträge: 616
Probier mal so:

ActionScript:
  1. //v3
  2. function scrolling_navi(ziel) {
  3.     this.onEnterFrame = function() {
  4.         holder._x += Math.floor((ziel-holder._x)*.25);
  5.         trace(holder._x+"/"+ziel);
  6.         if (Math.abs(holder._x-ziel)<5) {
  7.             _root.scroll_but_right._alpha = 100;
  8.             _root.scroll_but_right.enabled = true;
  9.             _root.scroll_but_left._alpha = 100;
  10.             _root.scroll_but_left.enabled = true;
  11.             holder._x = ziel;
  12.             delete this.onEnterFrame;
  13.         }
  14.     };
  15. }
  16. scroll_but_right.onPress = function() {
  17.     if (holder._x<400) {
  18.         scrolling_navi(holder._x+40);
  19.         this.enabled = false;
  20.         this._alpha = 1;
  21.     }
  22. };
  23. scroll_but_left.onPress = function() {
  24.     if (holder._x>40) {
  25.         scrolling_navi(holder._x-40);
  26.         this._alpha = 1;
  27.         this.enabled = false;
  28.     }
  29. };

Bei meinem Beispiel funktionierts.
Angehängte Dateien
Dateityp: zip scrolling_01.zip (3,4 KB, 5x aufgerufen)
__________________
Gruß, Jey!
jeypack ist offline   Mit Zitat antworten
Alt 30-04-2005, 00:08   #3 (permalink)
FlashLove@FirstSight
 
Benutzerbild von FLASHStyler
 
Registriert seit: Feb 2003
Beiträge: 2.460
Vielen... dank!
Was hats eigentlich gebracht? Also es funkt.. aber ich würd gern wissen warum ?
__________________
www.johannes-erhardt.com | blog | xing me baby
FLASHStyler ist offline   Mit Zitat antworten
Alt 30-04-2005, 12:31   #4 (permalink)
User
 
Benutzerbild von jeypack
 
Registriert seit: Sep 2003
Ort: Essen
Beiträge: 616
Zitat:
Zitat von FLASHStyler
Vielen... dank!
Was hats eigentlich gebracht? Also es funkt.. aber ich würd gern wissen warum ?
Also der ausschlaggebene Fehler war wohl if (holder._x==ziel) {.
Hier gibts auch allerlei Erklärung dazu. Ist ne echt wichtige Sache, würde ich sagen. Lesen lohnt.

Und ich glaube, dass auch die Richtungen nicht stimmig waren...
__________________
Gruß, Jey!
jeypack 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