1&1 Webhosting
Flashhilfe.de - Flash Community

AS3 Textdarstellung anpassen [Flash 10]

Forum > ActionScript 3.0 > AS3 Textdarstellung anpassen

 


AntwortenRegistrieren Seite1  

 02.12.2009, 16:53 
Benutzerbild von dsplz
Beiträge: 56
Registriert: Jul 2006

AS3 Textdarstellung anpassen
Hallo, ich habe gesucht und gesucht, jedoch nichts passendes gefunden, wie ich dies in AS3 umsetzen könnte.

Im Anhang ist ein Beispiel wie ich meinen Text darstellen möchte. Der Hintergrund des Textes soll sich der Zeilenlänge anpassen, auch bei dynamisch erstellten Texten. Hat jemand Vorschläge, wie ich das realisieren könnte?

Liebe Grüsse

Angehängte Dateien:
Bild test.jpg30.33 KB
 02.12.2009, 18:11Re1
Benutzerbild von derFloh
Beiträge: 989
Wohnort: ..::LAGE::..
Registriert: Apr 2006

hey
die textfield klasse hat die eigenschaft background
die einfach auf true setzen, und natürlich autoSize = TextFieldAutoSize.LEFT, damit sich die größe des textfeldes automatisch anpasst. das ist alles.

gruß
flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
 02.12.2009, 20:22Re2
Benutzerbild von dsplz
Beiträge: 56
Registriert: Jul 2006

Themenautor/in

Hi, ja schon probiert, wenn es nur eine Zeile ist geht das, nicht bei mehreren :(

Hab eine schlechte Alternative gefunden :)

ActionScript:
1myTextField.setSelection(0, 500);

oder
ActionScript:
1myTextField.alwaysShowSelection=true;


Das Problem bei den 2 Lösungen ist einfach, dass die Farbgebung ist nicht zu definieren, wie auch andere formalen Elemente.


Danke Dir trotzdem.
Geändert von dsplz am 02.12.09 um 20:26 Uhr

 
nicht sichtbar bei eingeloggten Mitgliedern
 02.12.2009, 20:28Re3
Benutzerbild von derFloh
Beiträge: 989
Wohnort: ..::LAGE::..
Registriert: Apr 2006

ah, ok. das stimmt natürlich.
hmmm... entweder den text an umbrüchen splitten und mehrere textfelder raus machen, oder vielleicht kann man mit getCharBoundaries was anfangen??? müsstest du mal probieren.

gruß
flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
 02.12.2009, 20:37Re4
Benutzerbild von dsplz
Beiträge: 56
Registriert: Jul 2006

Themenautor/in

Wie meinst du das Textfeld unterteilen? kann man das auch noch bei dynamisch erstellten Textfelder? Das andere guck ich mir gleich an, Danke.
 02.12.2009, 20:40Re5
Benutzerbild von derFloh
Beiträge: 989
Wohnort: ..::LAGE::..
Registriert: Apr 2006

ja, du hast deinen string mit dem text, und darin sind entweder  "\n" oder "<br> für den zeileumbruch. dann einfach mein_array = txt.split( "<br>" ); und dann das array durchlaufen und textfelder erstellen...  sowas in der art.
vielleicht klappts aber auch mit  getCharBoundaries.
halt mich aufm laufenden.

gruß
flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
 
nicht sichtbar bei eingeloggten Mitgliedern1&1 Webhosting
 02.12.2009, 20:43Re6
Benutzerbild von dsplz
Beiträge: 56
Registriert: Jul 2006

Themenautor/in

Ah so, klingt gut.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var myTextField:TextField = new TextField();
var spotlight:Shape = new Shape();


myTextField.x=10;
myTextField.y=10;
myTextField.border=true;
myTextField.selectable=false;
myTextField.autoSize=TextFieldAutoSize.LEFT;

myTextField.text="Selected a character from this text by clicking on it.";

myTextField.addEventListener(MouseEvent.CLICK, clickHandler);

this.addChild(myTextField);
this.addChild(spotlight);

function clickHandler(e:MouseEvent):void {
   var index:int=myTextField.getCharIndexAtPoint(e.localX,e.localY);

   if (index!=-1) {
      var frame:Rectangle=myTextField.getCharBoundaries(index);

      spotlight.graphics.clear();
      spotlight.graphics.beginFill(0xFFFF00, .35);
      spotlight.graphics.drawRect((frame.x + 10), (frame.y + 10), frame.width, frame.height);
      spotlight.graphics.endFill();
   }
}


Ist halt evtl für einzelne Zeichen, probiere aber weiter. Also theoretisch könnte man hier auch jedes Zeichen halt mit einer Schleife durchlaufen lassen oder so.
Geändert von dsplz am 02.12.09 um 20:46 Uhr

 02.12.2009, 21:04Re7
Benutzerbild von derFloh
Beiträge: 989
Wohnort: ..::LAGE::..
Registriert: Apr 2006

tja, vom prinzip sowas (sofern das auch mit dem zeilenumbruch klappt)
for( var i : uint = 0; i < myTextField.length; i++ )
{
    var frame:Rectangle=myTextField.getCharBoundaries(i);
    spotlight.graphics.beginFill(0x000000, 1);
    spotlight.graphics.drawRect((frame.x + 10), (frame.y + 10), frame.width, frame.height);
    spotlight.graphics.endFill();
}

sicherlich nicht die schönste variante, aber erfüllt wohl seinen zweck.
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
 02.12.2009, 21:30Re8
Benutzerbild von dsplz
Beiträge: 56
Registriert: Jul 2006

Themenautor/in

Hehe du sagst es. Das Problem mit deinem anderen Vorschlag ist das setzen der \n / <br> tags. Der Nutzer sollte sich nicht mit sowas abgeben müssen :(

Hmmm, die getCharBoundaries scheint bei Zeilenbrüchen nicht zu funktionieren :(

Danke für deine Hilfe! Schönen Abend.
Geändert von dsplz am 02.12.09 um 21:40 Uhr

 02.12.2009, 21:39Re9
Benutzerbild von derFloh
Beiträge: 989
Wohnort: ..::LAGE::..
Registriert: Apr 2006

jau. das stimmt wohl.
hab hier gerad noch ne klasse gefunden:
da kannst du dir n array aus rectangles zurückgeben lassen...
vielleicht ist das ja was.
viel erfolg.

gruß
flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
 02.12.2009, 21:56Re10
Benutzerbild von dsplz
Beiträge: 56
Registriert: Jul 2006

Themenautor/in

öh, wie muss ich die gebrauchen? sorry :)
 02.12.2009, 22:20Re11
Benutzerbild von derFloh
Beiträge: 989
Wohnort: ..::LAGE::..
Registriert: Apr 2006

hmmm...
habs gerade mal getestet, das ding ist aber fehlerhaft bei mehrzeiligen texten. na toll.
die dateien sind aber trotzdem im anhang. sorry für die hoffnung :)

gruß
flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring

Angehängte Dateien:
Komprimierte Datei test.zip9.43 KB
 02.12.2009, 22:22Re12
Benutzerbild von dsplz
Beiträge: 56
Registriert: Jul 2006

Themenautor/in

hehe egal, danke Dir vielmals.
 03.12.2009, 07:59Re13
Benutzerbild von springerFlashhilfe.de Moderator
Beiträge: 4906
Wohnort: zuhaus
Registriert: Apr 2004

hi,
das gabs schon mal, aber in as2. vielleicht hilfts dir als ansatz....
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
 03.12.2009, 08:46Re14
Benutzerbild von dsplz
Beiträge: 56
Registriert: Jul 2006

Themenautor/in

Hi, Danke für den Nachtrag.

Wäre genau das was ich brauche, sollte in AS3 ja eigentlich auch funktionieren.

In AS2 hab ich auch noch folgendes gefunden.
http://blog.greensock.com/textmetrics/

Grüsse
Geändert von dsplz am 03.12.09 um 09:19 Uhr

 
Themen
Ähnliche Beiträge zum Thema
 

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.
Partner Webseiten: DesignerInAction.de   Designnation.de   Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   PSD-Tutorials.de   Tutorials.de

Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2012 Sebastian Wichmann - Flashhilfe.de