Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-05-2004, 13:56   #1 (permalink)
409coffeemaker
Gast
 
Beiträge: n/a
Verzögerung der Zeilen | 3 Zeiliger Newsticker

Hi,

ich bin immer noch nicht viel weiter bei meinem Newsticker und poste hier mal einen minimalen Scriptansatz.

Aus MySQL wird PHP ein Text geladen, der dann wie ein Newsticker, aber auf besondere Art, laufen soll.

So wie ich das jetzt habe, wird der Text korrekt ausgelesen und dann einfach in allen 3 Textfelder (die die Zeilen darstellt) projeziert und mit substring() wird eine Bewegung simuliert.

Der Text muss aber durchgeschoben werden, damit das nach dem u.g. Prinzip auf funkioniert.

ActionScript:
  1. var sender=new LoadVars()
  2.         sender.object=this;
  3.         sender.id=_global.key_id-6;   
  4.         sender.sendAndLoad('home.php', sender, 'POST');  
  5.         sender.onLoad=function(success)
  6.             {
  7.             if(success)
  8.                 {
  9.                 var words=function()
  10.                     {
  11.                     content=content.substr(1, content.length)+content.substr(0, 1);
  12.                     _root.home.txt_row1.text=content;
  13.                     _root.home.txt_row2.text=content;
  14.                     _root.home.txt_row3.text=content;
  15.                     }   
  16.                 var content=this.textrow;
  17.                 setInterval(words, 80);
  18.                 delete this.object['sender'];
  19.                 }
  20.             }

Nun die Art wie der Text durchlaufen soll:

„Hello Cruel World“


1.)

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

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

-----------------------
Hel
-----------------------


2.)

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

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

-----------------------
Hello Crue
-----------------------


3.)

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

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

-----------------------
Hello Cruel World
-----------------------


3.)

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

-----------------------
Hell
-----------------------
o Cruel World
-----------------------


4.)

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

-----------------------
Hello Cru
-----------------------
el World
-----------------------



5.)

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

-----------------------
Hello Cruel World
-----------------------

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


6.)

-----------------------
Hello Cruel Wor
-----------------------
ld
-----------------------

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



7.) (und Unten wieder anfangen)

-----------------------
el World
-----------------------

-----------------------
Hello Cru
-----------------------


gotoAndDoitAgain('1.)')




Wer kann helfen?


Liebe Grüße

Yves
  Mit Zitat antworten
Alt 27-05-2004, 14:18   #2 (permalink)
Coalado
 
Registriert seit: Jun 2001
Ort: Lagcity.de
Beiträge: 683
möglich wäre sowas.lings ist dehr langsam. du könntest dich quatratisch an das zeilenene ran tasten.. das wäre schon mal schneller

ActionScript:
  1. TextField.prototype.textTicker = function(str, ms) {
  2.     var tx = str;
  3.     this.itv = function() {
  4.         tx = tx.substr(1, tx.length)+tx.substr(0, 1);
  5.         this.setText(tx);
  6.         updateAfterEvent();
  7.     };
  8.     var id = setInterval(this, "itv", ms);
  9. };
  10. TextField.prototype.setText = function(arg) {
  11.     var tempHeight = this._height;
  12.     this._height = 20;
  13.     var line = 1;
  14.     var result = false;
  15.     while (result != true) {
  16.         this.text = arg;
  17.         result = true;
  18.         var end = arg.length;
  19.         while (this.maxscroll>line) {
  20.             result = false;
  21.             this.text = arg.substring(0, --end);
  22.             if (end<1) {
  23.                 break;
  24.             }
  25.         }
  26.         if (end<arg.length) {
  27.             arg = arg.substring(0, end)+(arg.charAt(end) == " " ? "" : " ")+arg.substring(end);
  28.         }
  29.         line++;
  30.     }
  31.     this._height = tempHeight;
  32.     this.text = arg;
  33. };
  34. //TESTEN
  35. mf = new TextFormat();
  36. mf.font = "_typewriter";
  37. //
  38. this.createTextField("mytext", 1, 25, 25, 200, 60);
  39. mytext.border = true;
  40. mytext.multiline = true;
  41. mytext.wordWrap = true;
  42. mytext.setNewTextFormat(mf);
  43. //
  44. //AUFRUF
  45. mystring = "++ kleiner Newsticker, viefl Spass damit, HTML-Veeeeersion folgt +++ Gruss Michael +";
  46. mytext.textTicker(mystring, 80);
  47. //mytext.setText(mystring);
  48.  
tumetom ist offline   Mit Zitat antworten
Alt 27-05-2004, 15:55   #3 (permalink)
409coffeemaker
Gast
 
Beiträge: n/a
Ersteinmal vielen Dank.

Im Ansatz ist das schon vollkommen ok, allerdings müsste der Text von unten nach oben laufen und nicht direkt vollständig vorhanden sein. Das ist mir immer noch ein Rätsel, wie man das umsetzen könnte.

Nun gut, ich versuche ersteinmal dein Script vollständig zu verstehen und weitere eigene Ansätze dort zu integrieren.


btw… wie bette ich denn zb die Univers in dieses Textfeld ein?

Liebe Grüße

Yves
  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 16:50 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele