Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-08-2011, 11:17   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Ort: Kiel
Beiträge: 16
Typewriter Text markierbar?

Hallo liebe Flasher,

ich bin neu hier im Forum und habe von AS auch nicht so wirklich Ahnung. Ich erstelle Flashbanner in einer Agentur und hab mir aus dem Forum hier einen Typewriter-Effekt gesucht, der auch super funktiuoniert (AS2).

Das Problem dabei ist das der Text in der .swf-Datei markierbar ist, und das sollte nicht sein. Wie und wo kann ich das deaktivieren? Hab hier leider noch nichts dazu gefunden...

Außerdem liegt auf der oberen Ebene ein ClickTag, der die Verlinkung zu externen Seiten ermöglicht. Dieser ist an der Stelle, an der der Typewriter liegt, überdeckt (nicht gut!). Woran liegt das?

Und kann man die Typewriter-Animation loopen?


Hier mal der Code:
PHP-Code:
var meinText "ich diene nur zur\nDemonstration eines\ntypeWriter-Effektes";
    
10;
    
60;
    
    
//leeren MC erstellen
    
this.createEmptyMovieClip("container",1)
    
    
//Textfeld erstellen
    
this.createTextField("tw",1,x,y,140,400);
    
    
//Startzeit setzen
    
startTime getTimer()/1000;
    
    var 
len meinText.length;
    var 
0;
    
    
//kontinuierlicher onEnterFrame-Event
    
_root.onEnterFrame = function(){
        
        
//solange der Text noch nicht vollständig angezeigt wird...
        
if (i<len) {  
        
            
//...nächsten Character zeigen
            
tw.text += meinText.charAt(i);  
            
            
//und Zähler erhöhen
            
i++;  
        }
        else{
//beendet
           
delete this.onEnterFrame;//den Event wieder löschen
        
}
    }  
    
    var 
container:MovieClip _root.createEmptyMovieClip("container"_root.getNextHighestDepth()); 
Besten Dank schon einmal im Voraus für eure Hilfe!

Geändert von Martin Kraft (04-08-2011 um 11:28 Uhr)
PB2011 ist offline   Mit Zitat antworten
Alt 04-08-2011, 11:46   #2 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Willkommen im Flash Forum!
  • Zitat:
    Zitat von PB2011 Beitrag anzeigen
    Das Problem dabei ist das der Text in der .swf-Datei markierbar ist, und das sollte nicht sein. Wie und wo kann ich das deaktivieren? Hab hier leider noch nichts dazu gefunden...
    Wie ein Blick in die Referenz zeigt, hat jedes Textfield die Eigenschaft selectable über die man das einstellen kann:
    PHP-Code:
    var textField =  createTextField("tw"1xy140400);
    textFiled.selectable false
  • Zitat:
    Zitat von PB2011 Beitrag anzeigen
    Außerdem liegt auf der oberen Ebene ein ClickTag, der die Verlinkung zu externen Seiten ermöglicht. Dieser ist an der Stelle, an der der Typewriter liegt, überdeckt (nicht gut!). Woran liegt das?
    Um das zu beantworten, müsste man den Code des Links sehen und wissen auf welches Objekt Du ihn gelegt hast.

  • Zitat:
    Zitat von PB2011 Beitrag anzeigen
    Und kann man die Typewriter-Animation loopen?
    Man kann fast alles Wie soll sie denn loopen? Einfach wieder von vorne anfangen (sieht irgendwie blöd aus oder?) oder erst wieder Buchstabe für Buchstabe verschwinden?

  • Wieso erstellst Du eigentlich zwei leere MovieClips, die Du dann nicht verwendest?

  • Außerdem solltest Du vermeiden MovieClips und onEnterFrames auf _root zu legen. In der Regel kannst Du das _root. einfach weglassen.
Zitat:
Zitat von PB2011 Beitrag anzeigen
ich [...] habe von AS auch nicht so wirklich Ahnung. Ich erstelle Flashbanner in einer Agentur und hab mir...
Bitte verzeih mir, dass ich mir dazu einen Kommentar nicht verkneifen kann:
Wer mit Flash sein Geld verdient, sollte ActionScript wenigstens in den Grundzügen beherrschen!
Die unzähligen Scriptfehler in irgendwelchen Bannern verderben den Ruf von Flash und schädigen damit die Leute die wirklich professionell damit umgehen. Wenn Dein Chef also von Dir verlangt, mit diesem Programm zu arbeiten, sollte er Dir also auch eine AS-Schulung oder wenigstens ein vernünftiges Buch finanzieren!


P.S.: Bitte setz Deinen Code hier im Forum in [PHP]-Tags (so wie ich es für Dich getan habe), dann kann man ihn besser lesen!
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (04-08-2011 um 11:48 Uhr)
Martin Kraft ist offline   Mit Zitat antworten
Alt 04-08-2011, 12:19   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Ort: Kiel
Beiträge: 16
Hallo,

vielen Dank für die schnelle Antwort, funktioniert prima! Dadurch, das der Text jetzt nicht mehr markierbar ist, hat sich auch das Problem mit dem ClickTag erledigt, nix wird mehr überdeckt :-)!
Der liegt in einer transparenten Schaltfläche über dem gesamten Banner in der obersten Ebene.

PHP-Code:
on(release) {
getURL(clickTag"_self");

Mit einer Animation, wo Buchstabe für Buchstabe wieder verschwinden, das ist doch quasi die Umkehrung, oder? Würde sicher gut passen...

Bisher hab ich die Banneranimation immer über Zeitleistensteuerung gemacht, Tweening und so weiter. Wollte einfach mal etwas Neues ausprobieren. Und ein Typewriter-Effekt, wo jeder Buchstabe per Hand animiert wird, ist doch ziemlich umständlich :-)

Wir haben auch 2 Bücher hier, aber das ist alles AS3, und die Banner sollen weiterhin mit AS2 veröffentlicht werden.

Danke nochmals!

Geändert von PB2011 (04-08-2011 um 12:33 Uhr)
PB2011 ist offline   Mit Zitat antworten
Alt 05-08-2011, 11:36   #4 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Ort: Kiel
Beiträge: 16
Huhu,

hab schon überall nachgeschaut, hier im Forum und auch in der Referenz, aber ich konnte noch nichts finden was in etwa der Umkehrung des Typewriter-Effekt entspricht... Also dass die Buchstaben nach und nach wieder verschwinden, quasi als Ende der Animation.
Und dann sollte es wieder von vorn losgehen... Hat jemand nen Tipp?

Danke!
PB2011 ist offline   Mit Zitat antworten
Alt 05-08-2011, 12:03   #5 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Hiermit tippt sich Dein Text bis zum Ende aller Tage rein und raus:
PHP-Code:
var typeSpeed:Number 1;
var 
typeLength:Number 0;
onEnterFrame = function(){
    
    
typeLength += typeSpeed;
    if ( ( 
typeLength meinText.length && typeSpeed ) || ( typeLength <= && typeSpeed ) ) typeSpeed = -typeSpeed;
    
    
tw.text meinText.substr(0typeLength);
    

__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (05-08-2011 um 13:59 Uhr)
Martin Kraft ist offline   Mit Zitat antworten
Alt 05-08-2011, 12:42   #6 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Ort: Kiel
Beiträge: 16
Danke!!! Aber ich glaub ich bin echt zu blöd :-) An welche Stelle muss das? Hab das Script auch überarbeitet und die nicht notwendigen Sachen rausgeschmissen.

Hatte das bei kontinuierlicher onEnterFrame-Event eingefügt, da passiert gar nix, und dann den letzten Teil rausgelöscht, da war der Text aber ganz weg...

Sieht jetzt so aus:

PHP-Code:
var meinText "Ich diene nur zur\nDemonstration eines\ntypeWriter-Effektes";
    
10;
    
60;
        
    
//Textfeld erstellen
    
var textField this.createTextField("tw",1,x,y,140,400);
    
textField.selectable false;
    
tw.textColor 0xff0000;
        
    
//Startzeit setzen
    
startTime getTimer()/500;
    
    var 
len meinText.length;
    var 
0;
    
    
//kontinuierlicher onEnterFrame-Event
    
onEnterFrame = function(){
        
        
//solange der Text noch nicht vollständig angezeigt wird...
        
if (i<len) {  
        
            
//...nächsten Character zeigen
            
tw.text += meinText.charAt(i);  
            
            
//und Zähler erhöhen
            
i++;  
        }
        else{
//beendet
           
delete this.onEnterFrame;//den Event wieder löschen
        
}
    } 
PB2011 ist offline   Mit Zitat antworten
Alt 05-08-2011, 12:47   #7 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Komplett sähe das so aus:
PHP-Code:
var meinText:String "Ich diene nur zur\nDemonstration eines\ntypeWriter-Effektes";
var 
textField:TextField this.createTextField("fw"getNextHighestDepth(), 1060140400);
textField.selectable false;

var 
typeSpeed:Number 1;
var 
typeLength:Number 0;
onEnterFrame = function(){
    
    
typeLength += typeSpeed;
    if ( ( 
typeLength meinText.length && typeSpeed ) || ( typeLength <= && typeSpeed ) ) typeSpeed = -typeSpeed;
    
    
textField.text meinText.substr(0typeLength);
    

__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (05-08-2011 um 13:59 Uhr)
Martin Kraft ist offline   Mit Zitat antworten
Alt 05-08-2011, 13:32   #8 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Ort: Kiel
Beiträge: 16
Arrrggg! Sorry dass ich nerve
Wenn ich das komplett ersetze erscheint gar kein Text... Kommt das in nen Movieclip? Oder einfach in ein Schlüsselbild, wie bisher?

PHP-Code:
var meinText:String "Ich diene nur zur\nDemonstration eines\ntypeWriter-Effektes";
var 
textField:TextField this.createTextField("tw"11060140400);
textField.selectable false;
tw.textColor 0xff0000;

var 
typeSpeed:Number 1;
var 
typeLength:Number 0;
onEnterFrame = function(){
    
    
typeLength += typeDir;
    if ( ( 
typeLength meinText.length && typeSpeed ) || ( typeLength <= && typeSpeed ) ) typeSpeed = -typeSpeed;
    
    
tw.text meinText.substr(0typeLength);
    

Muss da noch irgendwas umbenannt werden?
PB2011 ist offline   Mit Zitat antworten
Alt 05-08-2011, 14:04   #9 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Ups - sorry. Ich hatte eine Variable umbenannt (typeDir > typeSpeed) und dabei vergessen sie an allen Stellen zu ändern.

Du solltest bei Codebeispielen hier im Forum immer versuchen diese nach zuvollziehen und zu verstehen, dann hättest Du diesen Fehler wahrscheinlich auch alleine gefunden Copy'n'Paste allein bringt Dich nicht weiter!

Ich hab den Code jedenfalls oben korrigiert. Hier ist er nochmal komplett:
PHP-Code:
var meinText:String "Ich diene nur zur\nDemonstration eines\ntypeWriter-Effektes";
var 
textField:TextField this.createTextField("fw"getNextHighestDepth(), 1060140400);
textField.selectable false;

var 
typeSpeed:Number 1;
var 
typeLength:Number 0;
onEnterFrame = function(){
    
    
typeLength += typeSpeed;
    if ( ( 
typeLength meinText.length && typeSpeed ) || ( typeLength <= && typeSpeed ) ) typeSpeed = -typeSpeed;
    
    
textField.text meinText.substr(0typeLength);
    

__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 05-08-2011, 14:14   #10 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Ort: Kiel
Beiträge: 16
Dankeeee!!! Jetzt klappt alles!!!
PB2011 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Flash CS3] Typewriter Text megabit Flash Einsteiger 2 12-02-2009 12:52
statischer text markierbar - zu große höhe Blue_Fire Flash 4 und Flash 5 0 11-08-2004 14:47
flash transparent, text darunter markierbar lassen !R()NM()Nk HTML und CSS 5 16-05-2004 22:07
typewriter-text scrollen humar Flash 4 und Flash 5 1 14-07-2003 20:27
Text markierbar machen movianer Flash 4 und Flash 5 2 24-11-2002 13:47


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:42 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele