Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-10-2003, 16:04   #1 (permalink)
D'OH!
 
Benutzerbild von der_maddes
 
Registriert seit: Sep 2003
Ort: AA
Beiträge: 85
Question Geschwindigkeit vom newsticker steuern

Hallo @together,

ich habe in ein Flash einen Newsticker eingebaut. Der lief erst einwandfrei, doch nachdem ich von 12fps auf 31fps umgestellt habe (zwecks Mac und flüssigerem Ablauf), rast die Schrift nur noch so durchs Bild.

Hab ich eine Möglichkeit die Geschwindigkeit zu steuern??

PHP-Code:
// die Geschwindigkeit hängt direkt mit den fps zusammen: 12fps -> normale Geschwindigkeit / 24 fps -> doppelte Geschwindigkeit

onClipEvent (load) {
    
news " +++ Dies ist der Newsticker +++ Es ist elf Uhr und eine Minute +++ heute ist Dienstag +++ und so weiter und so weiter +++";
}
onClipEvent (enterFrame) {
    
erster news.charAt();
    
news news.slice(erster.lengthnews.length)+erster;


Bin um jeden Tipp dankbar...


thanx der_maddes
Angehängte Dateien
Dateityp: zip my newsticker.zip (3,8 KB, 17x aufgerufen)
__________________
mfg der_maddes

life is too short

Version:
- Flash 5
- englisch
der_maddes ist offline   Mit Zitat antworten
Alt 16-10-2003, 17:07   #2 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Ort: D'dorf
Beiträge: 765
Hi maddes,

versuch's mal damit:
ActionScript:
  1. onClipEvent (load) {
  2. update = 2; // Newsticker nur jeden zweiten Frame aktualisieren
  3. counter = 0: // Kontrollvariable
  4. news = " +++ Dies ist der Newsticker +++ Es ist elf Uhr und eine Minute +++ heute ist Dienstag +++ und so weiter und so weiter +++";
  5. }
  6. onClipEvent (enterFrame) {
  7. if(++counter == update){  // wenn inkrementierter counter == update ist...
  8. counter = 0; // counter wieder auf 0 setzen...
  9. return; // enterFrame verlassen
  10. }
  11. erster = news.charAt();
  12. news = news.slice(erster.length, news.length)+erster;
  13. }

gruß,
roman
romän ist offline   Mit Zitat antworten
Alt 17-10-2003, 10:48   #3 (permalink)
D'OH!
 
Benutzerbild von der_maddes
 
Registriert seit: Sep 2003
Ort: AA
Beiträge: 85
Lightbulb

Hallo Roman (än?),

ja das ging ja schnell!

Und dann auch noch so ein guter Tipp mit Beschreibung, Danke Roman.
Ich musste nur noch ein paar kleine Änderungen machen oder habe besser gesagt rumprobiert, da ich noch ein ziemlicher Newbie bin...

Die beiden letzten Zeilen müssen innerhalb der if-Klammer stehen und das return kann man weglassen (ich habs jedenfalls getan, und es funzt trotzdem).

ActionScript:
  1. onClipEvent (load)  {
  2.         update = 4; // Newsticker nur jeden zweiten Frame aktualisieren
  3.         counter = 0; // Kontrollvariable
  4.         news = " +++ Dies ist der Newsticker +++ Es ist elf Uhr und eine Minute +++ heute ist Dienstag +++ und so weiter und so weiter +++";
  5.                     }
  6.  
  7. onClipEvent (enterFrame) {
  8.         if(++counter == update) {  // wenn inkrementierter counter == update ist...
  9.                 counter = 0; // counter wieder auf 0 setzen...
  10.                 erster = news.charAt();
  11.           news = news.slice(erster.length, news.length)+erster;
  12.                        
  13.                                }
  14.                        
  15.                          }

Vielen Dank und thanx

der_maddes
__________________
mfg der_maddes

life is too short

Version:
- Flash 5
- englisch
der_maddes ist offline   Mit Zitat antworten
Alt 17-10-2003, 11:23   #4 (permalink)
Freelancer
 
Benutzerbild von komashooter
 
Registriert seit: Oct 2001
Ort: Germany - Berlin
Beiträge: 1.777
Hier ein Beispiel von mir mit Math.floor

ActionScript:
  1. onClipEvent (load) {
  2.     speed=6;
  3.     stepcounter=0;
  4.     speedsumme=0;
  5.     news = "1 2 3 4 5 6 7 8 9 10 ";
  6. }
  7. onClipEvent (enterFrame) {
  8.     erster = news.charAt();
  9.     trace(erster);
  10.     stepcounter+=1;
  11.     speedsumme = stepcounter/speed;
  12.     speedsumme2 =Math.floor(stepcounter/speed)
  13.     trace("stepcounter = "+stepcounter);
  14.     trace("speedsumme = "+speedsumme);
  15.     trace("speedsumme2 = "+speedsumme2);
  16.     if(speedsumme==speedsumme2){
  17.         trace("Bingo");
  18.         news = news.slice(1, news.length)+news.charAt(0);
  19.         }
  20.     trace("speed = "+speed);
  21.    
  22. }

umsogrößer speed umso langsamer

speed == wiederstand

Geändert von komashooter (17-10-2003 um 11:29 Uhr)
komashooter ist offline   Mit Zitat antworten
Alt 17-10-2003, 12:22   #5 (permalink)
D'OH!
 
Benutzerbild von der_maddes
 
Registriert seit: Sep 2003
Ort: AA
Beiträge: 85
Thumbs up

Hey Danke komashooter,

funktioniert auch einwandfrei.

Mein Problem ist nur, dass ich (noch) nicht genug von AS verstehe um da voll durchzusteigen...

but, it work´s


muchas gracias
__________________
mfg der_maddes

life is too short

Version:
- Flash 5
- englisch
der_maddes ist offline   Mit Zitat antworten
Alt 17-10-2003, 12:31   #6 (permalink)
Freelancer
 
Benutzerbild von komashooter
 
Registriert seit: Oct 2001
Ort: Germany - Berlin
Beiträge: 1.777
@ der_maddes

wenn du eine deutsche anleitung brauchst dann downloade dir die deutsche Flash MX trial die hat eine deutsche html anleitung
komashooter ist offline   Mit Zitat antworten
Alt 17-10-2003, 14:45   #7 (permalink)
D'OH!
 
Benutzerbild von der_maddes
 
Registriert seit: Sep 2003
Ort: AA
Beiträge: 85
Wink

...und noch ein guter Tipp vom komashooter

Danke!

Ist die Hilfe denn auch tauglich, um sich selbst was beizubringen, gerade in Bezug auf AS?? Da bin ich noch ein blutiger Anfänger...
__________________
mfg der_maddes

life is too short

Version:
- Flash 5
- englisch

Geändert von der_maddes (17-10-2003 um 15:45 Uhr)
der_maddes ist offline   Mit Zitat antworten
Alt 17-10-2003, 15:41   #8 (permalink)
Freelancer
 
Benutzerbild von komashooter
 
Registriert seit: Oct 2001
Ort: Germany - Berlin
Beiträge: 1.777
jedenfalls sind die befehle auf deutsch erklärt
komashooter ist offline   Mit Zitat antworten
Alt 25-11-2003, 18:36   #9 (permalink)
Freelancer
 
Benutzerbild von komashooter
 
Registriert seit: Oct 2001
Ort: Germany - Berlin
Beiträge: 1.777
Exclamation

damit stepcounter nicht unendlich groß wird mußte ich es so umändern , sonst funktioniert nach einer weile das script nicht mehr weil stepcounter zu groß werden würde !

ActionScript:
  1. onClipEvent (load) {
  2.         speed=10;
  3.         stepcounter=0;
  4.         speedsumme=0;
  5.         news = "1 2 3 4 5 6 7 8 9 10 ";
  6. }
  7. onClipEvent (enterFrame) {
  8.         erster = news.charAt();
  9.         trace(erster);
  10.         stepcounter+=1;
  11.         speedsumme = stepcounter/speed;
  12.         speedsumme2 =Math.floor(stepcounter/speed)
  13.         trace("stepcounter = "+stepcounter);
  14.         trace("speedsumme = "+speedsumme);
  15.         trace("speedsumme2 = "+speedsumme2);
  16.         if(speedsumme==speedsumme2){
  17.                 trace(stepcounter);
  18.                 stepcounter =0;
  19.                 trace("Bingo");
  20.                 news = news.slice(1, news.length)+news.charAt(0);
  21.         }
  22.         trace("speed = "+speed);
  23.        
  24. }
komashooter 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 14:25 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele