Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-08-2004, 13:05   #1 (permalink)
lernwillig
 
Benutzerbild von Bugfixer
 
Registriert seit: May 2004
Ort: Berlin
Beiträge: 221
Texteffekt zufällige Buchstaben

Hi,

Jetzt muss ich noch ein 2. mal bei diesem script helfen lassen.

Es geht um einen texteffekt, der nach abfolge einer zufälligen zeichensequenz, den klartext anzeigen soll. Habe mir schon ähnliche themen angeschaut, konnt mir aber diesbezüglich nicht weiterhelfen.

Habe bisher habe ich dieses script als basis verwendet. (Nochmals danke an bokel für die modifikation)

Code:
TextField.prototype.deCript = function(myMsg) {
	this.autoSize = true;
	// 
	var i = 0;
	var onInterval = function (tf) {
		if (i<myMsg.length) {
			var result = myMsg.substr(0, ++i);
			var len = myMsg.length-i;
			for (var k = 0; k<len; k++) {
				result += String.fromCharCode(ord(" ")+1+Math.round(Math.random(25)*90));
			}
			// 
			tf.text = result;
		}
		if (i>=myMsg.length) {
			clearInterval(id);
		}
	};
	var id = setInterval(onInterval, 50, this);
};

var message1 = "Dies ist mein aufzubauender Text";
this.createTextField("myTxt1", 1, 0, 0, 1, 1); 
myTxt1.deCript(message1);
Das script arbeitet schon fast wie ich es mir vorstelle, allerdings erscheinen alle buchstaben auf einmal und erscheinen nicht erst nacheinander.

Ist vielleicht heute jemand langweilig und kann mir helfen

Vielen dank im vorraus

Gruss Fabian
Bugfixer ist offline   Mit Zitat antworten
Alt 15-08-2004, 13:16   #2 (permalink)
aka stauby
 
Benutzerbild von webdust
 
Registriert seit: Mar 2004
Ort: Würzburg
Beiträge: 705
Ersetze mal diese Zeile:
var len = myMsg.length-i;

durch
var len = 1;

Ist es das, was du dir vorgestellt hast?
webdust ist offline   Mit Zitat antworten
Alt 15-08-2004, 13:38   #3 (permalink)
lernwillig
 
Benutzerbild von Bugfixer
 
Registriert seit: May 2004
Ort: Berlin
Beiträge: 221
Nein, es sollen schon mehrerer buchstaben gleichzeitig nebeneinander durchlaufen.
Sonst siehts ein bisschen mongo aus
Bugfixer ist offline   Mit Zitat antworten
Alt 15-08-2004, 14:00   #4 (permalink)
aka stauby
 
Benutzerbild von webdust
 
Registriert seit: Mar 2004
Ort: Würzburg
Beiträge: 705
Dann pass halt die Länge so an, dass es dir gefällt. An welcher Variablen du drehen musst, sollte ja jetzt klar sein.
__________________
"The things you own end up owning you."
webdust ist offline   Mit Zitat antworten
Alt 15-08-2004, 14:10   #5 (permalink)
lernwillig
 
Benutzerbild von Bugfixer
 
Registriert seit: May 2004
Ort: Berlin
Beiträge: 221
Wenn es so einfach gewesen wäre, hätte ich das selber geschafft

Ich stelle mir das wie bei diesen spielautomaten vor:

Buchstabe 1 erscheint und fängt an zu laufen (also der random effekt startet) dann erscheint buchstabe 2 und fängt an zu laufen, dann buchstabe 3 etc. Nachdem der z.b. 5 buchstabe, das laufen anfangen hat, hört beim buchstabe 1 der random effekt auf und der finale buchstabe erscheint.

In etwa so: http://www.yugop.com => auf archive klicken.
Bugfixer ist offline   Mit Zitat antworten
Alt 15-08-2004, 15:36   #6 (permalink)
lernwillig
 
Benutzerbild von Bugfixer
 
Registriert seit: May 2004
Ort: Berlin
Beiträge: 221
Gehört mein thread eigentlich ins OOP forum?
Bugfixer ist offline   Mit Zitat antworten
Alt 15-08-2004, 16:47   #7 (permalink)
aka stauby
 
Benutzerbild von webdust
 
Registriert seit: Mar 2004
Ort: Würzburg
Beiträge: 705
Ok, hab noch bisschen am Skript rumgespielt. (Mir ist heute wirklich langweilig ). Kann zwar noch nicht mit yugop mithalten, aber ich finde, schon mal eine kleine Verbesserung:

PHP-Code:
TextField.prototype.deCript = function(myMsg) {
    
this.autoSize true;
    
// 
    
var 0;
    var 
gesamt = function(feld) {
        
m=0;
        
i++;
    var 
onInterval = function (tf) {
            
result String.fromCharCode(ord(" ")+1+Math.round(Math.random(25)*90));
            
tf.text tf.text.slice(0,i);
            
tf.text += result;
            
m++;
        
        if (
m==10) {
            
clearInterval(id);
            
tf.text myMsg.substr(0,i+1);
        }
    };
    var 
id setInterval(onInterval50feld);
    if(
i==myMsg.length-1) {
        
clearInterval(id);
        
clearInterval(id2);
    }
    
    };
    var 
id2 setInterval(gesamt,400,this);
};

var 
message1 "Dies ist mein aufzubauender Text";
this.createTextField("myTxt1"10011); 
myTxt1.deCript(message1); 
__________________
"The things you own end up owning you."
webdust ist offline   Mit Zitat antworten
Alt 16-08-2004, 10:03   #8 (permalink)
lernwillig
 
Benutzerbild von Bugfixer
 
Registriert seit: May 2004
Ort: Berlin
Beiträge: 221
Danke webdust für deine mühe.

Allerdings sieht dein effekt bei hoher geschwindigkeit komisch aus.

Schon mal ausprobiert?

Geändert von Bugfixer (16-08-2004 um 10:04 Uhr)
Bugfixer ist offline   Mit Zitat antworten
Alt 16-08-2004, 10:08   #9 (permalink)
aka stauby
 
Benutzerbild von webdust
 
Registriert seit: Mar 2004
Ort: Würzburg
Beiträge: 705
Post

Also, einen hab ich noch. Heute früh noch ein bisschen verfeinert - was man doch nicht alles tut, um nicht auf die Idee zu kommen, für´s Vordiplom zu lernen.
(Dran denken, die Framerate hoch zu setzen, damit´s flüssiger wird)

PHP-Code:
TextField.prototype.deCript = function(myMsg) {
    
this.autoSize true;
    
// 
    
var 0;
    
m  = new Array;
    var 
gesamt = function(feld) {
        
i++;
        
m[i] = 0;
        
                var 
onInterval = function (tf,j) {
                    
result String.fromCharCode(ord(" ")+1+Math.round(Math.random(25)*90));
                    
tf.text tf.text.slice(0,j-1);
                    
tf.text += result;
                    
m[j]++;
                            
                if (
m[j]==10) {
                    
clearInterval(_root["id"+j]);
                    
tf.text myMsg.substr(0,j+1);
                                    }
        };
    
    
_root["id"+i] = setInterval(onInterval,25feld,i);
    
    if(
i==myMsg.length-1) {
            
clearInterval(id2);
            }
    
    };
    var 
id2 setInterval(gesamt,50,this);
};

var 
message1 "Dies ist mein aufzubauender Text";
this.createTextField("myTxt1"10011); 
myTxt1.deCript(message1); 
So, jetzt sollte ich doch mal wieder zu meinen Büchern
__________________
"The things you own end up owning you."
webdust ist offline   Mit Zitat antworten
Alt 20-08-2004, 17:01   #10 (permalink)
lernwillig
 
Benutzerbild von Bugfixer
 
Registriert seit: May 2004
Ort: Berlin
Beiträge: 221
Ach ja wollt mich noch bedanken

Dankeschön, hehe.
Bugfixer ist offline   Mit Zitat antworten
Alt 20-08-2004, 17:08   #11 (permalink)
aka stauby
 
Benutzerbild von webdust
 
Registriert seit: Mar 2004
Ort: Würzburg
Beiträge: 705
Gibt halt auch noch höfliche Menschen.
Ist denn die letzte Version ungefähr so, wie du es dir vorgestellt hast?
__________________
"The things you own end up owning you."
webdust 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:35 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele