Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-08-2004, 15:29   #1 (permalink)
Funkologist
 
Benutzerbild von Reanimator
 
Registriert seit: Jan 2004
Ort: Vienna
Beiträge: 139
AS Text

hiho,
wiedermal muss ich meine AS Unfähigkeit eingestehen und wende mich gleich mal an die Profis

Also ich versuch mich grad an einer Art Adventure und es passt auch soweit alles, aber bei den meisten Adventures gibt es viel Text, und ich habe nur eine kleine Zeile Textfeld in der alles wiedergegeben werden soll. Ich kann somit alles nur mit einer Zeile beschreiben. Das ist mager ; D. Wie kann ich per as dem textfeld sagen das es zuerst die eine Zeile anzeigt und circa nach 5 sekunden die nächste? Wie üblich bin ich für jede kleinste hilfestellung verdammt dankbar! Und wenn ihr noch ein paar coole tricks auf lager habt was texteffekte angeht (fade od so) immer her damit! : D
grüße
__________________
"Life - loathe it or ignore it, you can't like it"
Reanimator ist offline   Mit Zitat antworten
Alt 16-08-2004, 15:32   #2 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
such mal nach typewriter
pape ist offline   Mit Zitat antworten
Alt 16-08-2004, 15:42   #3 (permalink)
aka stauby
 
Benutzerbild von webdust
 
Registriert seit: Mar 2004
Ort: Würzburg
Beiträge: 705
Wie wär´s mit sowas (aus dem Stegreif und ohne zu testen, daher wohl noch fehlerverseucht):

ActionScript:
  1. buchstaben_pro_zeile = anzahl
  2. i=0;
  3.  
  4. function splitten(inhalt, textzeile,anzahl) {
  5. textzeile.text = inhalt.substr(anzahl*i,anzahl*(i+1);
  6. i++;
  7. if(anzahl*(i+1) > inhalt.length) {
  8. clearInterval(anzeigen);
  9. }
  10.  
  11. }
  12.  
  13. anzeigen = setInterval(splitten,5000,....);
__________________
"The things you own end up owning you."

Geändert von webdust (16-08-2004 um 15:47 Uhr)
webdust ist offline   Mit Zitat antworten
Alt 17-08-2004, 01:39   #4 (permalink)
Funkologist
 
Benutzerbild von Reanimator
 
Registriert seit: Jan 2004
Ort: Vienna
Beiträge: 139
danke schonmal, es is fast durch den debugger gegangen ; ) nur eine Klammer und bei "anzeigen = setInterval(splitten,5000,....);" hatte er was gegen die ",..." aber ich bin leider grad um die Spur zu schlecht um zu checken was ich da noch definieren und ergänzen muss. und natürlich hab ich das forum schon durchsucht aber genau das hab ich nicht gefunden und meine versuche scripte abzuändern sind gescheitert. meistens find ich typewriter die zeilenumbruch haben aber eine Zeile tiefer gehn, ich brauch aber einen der in der einen Zeile den vorigen text ersetzt. Es muss ja nichtmal ein Schreibmaschinen Effekt sein. danke nochmal.
__________________
"Life - loathe it or ignore it, you can't like it"
Reanimator ist offline   Mit Zitat antworten
Alt 17-08-2004, 01:47   #5 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
lol
die ",..." stehen auch nur so da!

das sind optionale parameter!
Mit denen kann man weitere parameter, an, die im setInterval, an erster stelle der parameter genannten function übergeben!

in dem beispiel von webdust wäre das dann

inhalt, textzeile und anzahl

grz
Robert
pape ist offline   Mit Zitat antworten
Alt 17-08-2004, 02:08   #6 (permalink)
Funkologist
 
Benutzerbild von Reanimator
 
Registriert seit: Jan 2004
Ort: Vienna
Beiträge: 139
lool ok gut jez dürft ihr lachen : D ok wenn ich jez noch eine sekunde mehr dran arbeite zuck ich aus. ich hoffe jemand kommt mit dem zündenden funken! gut nacht!
__________________
"Life - loathe it or ignore it, you can't like it"
Reanimator ist offline   Mit Zitat antworten
Alt 17-08-2004, 08:02   #7 (permalink)
aka stauby
 
Benutzerbild von webdust
 
Registriert seit: Mar 2004
Ort: Würzburg
Beiträge: 705
Zitat:
Zitat von pape
lol
in dem beispiel von webdust wäre das dann

inhalt, textzeile und anzahl
Genau, du musst halt Flash noch mitteilen, welchen Text es aufsplitten soll, in welches Textfeld das ganze dann reinkommt und wie viele Buchtstaben da in eine Zeile passen. Also, zB. so

message ="Dies ist der aufzuspaltente Text";
this.createTextField("Textfeld",50*,50*,100*,25*);


Dann würde dann der Befehl so aussehen, wenn jeweils 10 Buchstaben erscheinen sollen: setInterval(splitten,5000,message,Textfeld,10);

(*Die Parameter sind auch wieder frei erfunden und müssen angepasst werden!)
__________________
"The things you own end up owning you."
webdust ist offline   Mit Zitat antworten
Alt 17-08-2004, 14:17   #8 (permalink)
Funkologist
 
Benutzerbild von Reanimator
 
Registriert seit: Jan 2004
Ort: Vienna
Beiträge: 139
hmm - hab damit rumgespielt aber er will nicht so ganz - ich wäre echt dankbar wenn es jmd ausprobieren könnte. Noch was, ich hab gestern (viel zu lange) noch gesucht und rumprobiert und hab jez das:
PHP-Code:
on(rollover) {
geschwindigkeit setInterval(getRandomLetters60);
typer "Text der angezeigt werden soll";
function 
getRandomLetters() {        
        var 
laenge typer.length;//anzahl der buchstaben ermitteln
            
if (count<laenge) {
                
count++;        
                
_root.zeile.text typer.substring(0count);
                        
updateAfterEvent();                
        }
            
                
}

}
on (rollOut) {
    
    
_root.zeile.text ""
    
    } 
Das hat zwar nichts mit dem Zeilenumbruch zu tun, wäre aber für meinen Zweck auch nicht schlecht - er zeigt den text an bei rollover und bei rollout
leert er die Zeile, genau wie er soll - aber das ganze geht nur einmal! wenn ich dann noch mal über den mc fahre passiert nichts mehr. kann man irgendwie das script mit irgendeinem befehl neustarten lassen sozusagen?
Oder gibt es wie +newline+ einen befehl mit dem man die Zeile löschen kann?
danke.....
__________________
"Life - loathe it or ignore it, you can't like it"
Reanimator ist offline   Mit Zitat antworten
Alt 17-08-2004, 14:34   #9 (permalink)
aka stauby
 
Benutzerbild von webdust
 
Registriert seit: Mar 2004
Ort: Würzburg
Beiträge: 705
Kann es sein, dass du einfach count neu initialisieren musst!? Also probiers mal, indem du vor das var laenge =... noch ein var count = 0; schreibst.
__________________
"The things you own end up owning you."
webdust ist offline   Mit Zitat antworten
Alt 17-08-2004, 14:39   #10 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
das wird vernutlich nicht gehen, da count länger als in inem funktions aufruf gebraucht wird.... so lange wie es kleiner laenge ist wird es gebraucht.. dann zurücksetzen:
ActionScript:
  1. on(rollover) {
  2. geschwindigkeit = setInterval(getRandomLetters, 60);
  3. typer = "Text der angezeigt werden soll";
  4. function getRandomLetters() {         
  5.         var laenge = typer.length;
  6.         if (count<laenge) {
  7.             count++;         
  8.             _root.zeile.text = typer.substring(0, count);
  9.             updateAfterEvent();                 
  10.         } else {
  11.             count = 0;//hier
  12.         }
  13. }
  14.  
  15. }
  16. on (rollOut) {
  17.     _root.zeile.text = "";
  18. }

gruß
pape ist offline   Mit Zitat antworten
Alt 17-08-2004, 14:48   #11 (permalink)
Funkologist
 
Benutzerbild von Reanimator
 
Registriert seit: Jan 2004
Ort: Vienna
Beiträge: 139
entweder ich hab was übersehn oder er mag es nicht so ganz - lol der effekt davon is dass es sich ohne zu stoppen immer wieder hinschreibt und jedesmal wenn ich über den mc fahre wird der text schneller, schaut echt komisch aus ; D achja wo is eigentlich der unterschied zwischen "count =" und "var count ="? und ich hätte auch noch eine frage zu function, es wir überall eingesetzt und ich verstehs aber nicht - man definiert damit eine funktion, und kann die dann immer wieder abrufen, is das richtig?
__________________
"Life - loathe it or ignore it, you can't like it"

Geändert von Reanimator (17-08-2004 um 14:53 Uhr)
Reanimator ist offline   Mit Zitat antworten
Alt 17-08-2004, 14:52   #12 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
probier es mal so:
ActionScript:
  1. on(rollover) {
  2. if (!geschwindigkeit) {
  3.     geschwindigkeit = setInterval(getRandomLetters, 60);
  4.     typer = "Text der angezeigt werden soll";
  5. }
  6. function getRandomLetters() {         
  7.         var laenge = typer.length;
  8.         if (count<laenge) {
  9.             count++;         
  10.             _root.zeile.text = typer.substring(0, count);
  11.             updateAfterEvent();                 
  12.         } else {
  13.             count = 0;//hier
  14.             clearInterval(geschwindigkeit);
  15.             delete geschwindigkeit;
  16.         }
  17. }
  18.  
  19. }
  20. on (rollOut) {
  21.     _root.zeile.text = "";
  22. }
pape ist offline   Mit Zitat antworten
Alt 17-08-2004, 14:54   #13 (permalink)
Funkologist
 
Benutzerbild von Reanimator
 
Registriert seit: Jan 2004
Ort: Vienna
Beiträge: 139
Nicht schlecht - jez gehts öfter aber es wird immer noch immer schneller wenn ich öfter drüberfahre : D und es bleibt manchmal hängen und zuckt aus : D

oh warte hab am anfang was übersehn
__________________
"Life - loathe it or ignore it, you can't like it"

Geändert von Reanimator (17-08-2004 um 14:57 Uhr)
Reanimator ist offline   Mit Zitat antworten
Alt 17-08-2004, 15:04   #14 (permalink)
Funkologist
 
Benutzerbild von Reanimator
 
Registriert seit: Jan 2004
Ort: Vienna
Beiträge: 139
genial! echt nicht schlecht - nur wenn mann rolloutet bevor der text sich hingeschrieben hat bleibt er stehn bis man erneut über den mc fährt und wieder rolloutet - kann man irgendwie sagen das er nach ein paar sekunden den text ausblendet? wie man mit verzögerungen macht od so hab ich mich schon immer gefragt : D
__________________
"Life - loathe it or ignore it, you can't like it"

Geändert von Reanimator (17-08-2004 um 15:16 Uhr)
Reanimator ist offline   Mit Zitat antworten
Alt 18-08-2004, 00:05   #15 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
dazu müsstest du den text noch in einen mc packen und diesen dann faden (überall ändern sich dann natürlich die pfad zum text ..nicht vergessen die auch zuändern!)

um ne verzögerung einzubauen, kannst du einfach ne function schreiben, die den mc ausfadet und beim rollout dann nen setInterval mit gewünschter verzögerung die function aufrufen und in der function dann das setInterval direkt wieder löschen!

grz
Robert
pape 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 09:50 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele