Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-10-2009, 23:55   #1 (permalink)
Neuer User
 
Benutzerbild von Vokator
 
Registriert seit: Apr 2009
Beiträge: 91
Exclamation Typewriter Effekt wordWrap Problem

Hi,

hab nen Typewriter effekt programmiert,
recht simpel... nur das problem ist wenn ein wort sich bis zum rand vervollständigt springt es in die nächste zeile !
Was kann ich dagegen tun ?

Code:
package {

	import flash.display.Sprite;
	import flash.events.Event;

	import com.vokator.text.DvText;

	import com.vokator.utils.XMLLoader;

	public class About extends Sprite {

		private var xmlLoader:XMLLoader;
		private var xml:XML;

		public function About():void {
			addEventListener(Event.ADDED_TO_STAGE, init);
		}

		private function init(e:Event):void {
			xmlLoader=new XMLLoader("about.xml");
			xmlLoader.addEventListener("loaded", parseXML);
		}

		private function parseXML(e:Event):void {
			xml=new XML(xmlLoader.xml);
			for (var i:int=0; i<xml.length(); i++) {
				var dvText:DvText=new DvText(xml.content[i].text(),20,400,0xFF0000,true);
				addChild(dvText);
				//trace(xml.content[i].@id);
				//trace(xml.content[i].text());
			}
		}
	}
}
Code:
package com.vokator.text{

	import flash.text.TextFormat;
	import flash.text.TextField;
	import flash.text.*;

	import com.vokator.animator.TextAnimator;

	public class DvText extends TextField {

		var t:TextField = new TextField();
		private var tf:TextFormat=new TextFormat("Kontrapunkt");
		private var textAnimator:TextAnimator;

		public function DvText($content:String,$size,$width:Number,$color:Object,$italic):void {
			tf.color=$color;
			tf.size=$size;
			tf.italic=$italic;
			autoSize=TextFieldAutoSize.LEFT;
			width=$width;
			selectable=false;
			antiAliasType=AntiAliasType.ADVANCED;
			wordWrap=true;
			mouseWheelEnabled=false;
			defaultTextFormat=tf;
			TextAnimator.Animate($content, this,"TYPEWRITER",3);
		}
	}
}
Code:
package com.vokator.animator{

	import flash.text.TextField;
	import flash.text.TextFormat;
	import flash.utils.Timer;
	import flash.events.TimerEvent;

	public class TextAnimator extends TextField {

		public static function Animate($content:String,$t:TextField,$AnimationType:String,$AnimationSpeed) {
			var _content:String;
			var _t:TextField;
			var AnimationType:String;
			var t:Timer;
			var i:int=0;

			_content=$content;
			_t=$t;
			AnimationType=$AnimationType;
			t=new Timer($AnimationSpeed);

			if (AnimationType=="TYPEWRITER") {
				init_TYPEWRITER();
			}

			function init_TYPEWRITER():void {
				t.addEventListener(TimerEvent.TIMER, timerHandler);
				t.start();

				function timerHandler(e:TimerEvent):void {

					if (i<_content.length) {
						_t.appendText(_content.charAt(i));
					} else {
						i=0;
						t.stop();
						t.reset();
						t.removeEventListener(TimerEvent.TIMER, timerHandler);
					}
					i++;
				}
			}

		}

	}
}

Geändert von Vokator (04-10-2009 um 00:03 Uhr)
Vokator ist offline   Mit Zitat antworten
Alt 04-10-2009, 09:40   #2 (permalink)
Klugscheisser
 
Registriert seit: Jun 2001
Ort: Düsseldorf
Beiträge: 1.354
Bin mir nicht ganz sicher ob ich dein Problem richtig verstanden habe, aber ich würde sagen _t.multiline = false
T.Decay ist offline   Mit Zitat antworten
Alt 04-10-2009, 12:23   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Beiträge: 1.197
Man müsste vorher testweise ein Textfeld in den richtige Abmessungen mit dem Text füllen und mit Hilfe der Methoden von TextField analysieren, wo Zeilenumbrüche auftreten und die dann explizit als \n in den Text einfügen.
So würde ich es jedenfalls machen.
__________________
EDV = Ende Der Vernunft
hmpf ist offline   Mit Zitat antworten
Alt 04-10-2009, 14:17   #4 (permalink)
Neuer User
 
Benutzerbild von Vokator
 
Registriert seit: Apr 2009
Beiträge: 91
Thumbs up

Zitat:
Zitat von T.Decay Beitrag anzeigen
Bin mir nicht ganz sicher ob ich dein Problem richtig verstanden habe, aber ich würde sagen _t.multiline = false


multiline ist nur read >_>
Vokator ist offline   Mit Zitat antworten
Alt 04-10-2009, 14:32   #5 (permalink)
CodeGecko
 
Benutzerbild von hellslawyer
 
Registriert seit: Aug 2007
Ort: Hagen
Beiträge: 1.242
Zitat:
Zitat von Vokator Beitrag anzeigen
multiline ist nur read >_>
Also meine Doku sagt da was anderes:
Zitat:
multiline property
multiline:Boolean [read-write]
__________________
Grütze Reinhart

XING || Simple Flash-Filter-Generator || DateChooser (AS3)
MovieClipLoader-Example (AS2) || PreloaderClass (AS2) || Framechecker-Component (AS2)

Bitte keine Flashfragen per PN oder ICQ. Dafür ist das Forum da.
hellslawyer ist offline   Mit Zitat antworten
Alt 04-10-2009, 15:29   #6 (permalink)
Neuer User
 
Benutzerbild von Vokator
 
Registriert seit: Apr 2009
Beiträge: 91
Zitat:
Zitat von hellslawyer Beitrag anzeigen
Also meine Doku sagt da was anderes:
ups you're right !
Vokator 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
typewriter effekt andersherum icon ActionScript 2 2 13-08-2009 07:22
handling Typewriter Effekt Tittipoco Flash Einsteiger 6 14-09-2006 19:20
problem bei höhen bestimmung bei wordwrap dave404 Flash MX 2004 15 13-03-2005 21:23
Typewriter (Schreibmaschinen) Effekt funktioniert nicht daedalus Flash MX 2004 11 28-01-2004 22:20
Typewriter Problem Julian Graw ActionScript 1 2 06-01-2002 20:50


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:37 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele