Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-05-2007, 19:14   #1 (permalink)
Gedankengestalter
 
Benutzerbild von TheFreeman
 
Registriert seit: May 2002
Ort: Bayern
Beiträge: 486
dynamische Textfelder mit mehreren Zeilen

Hi,

ich habe einen MC, in dem zwei dynamische Textfelder liegen. Diesen MC möchte ich nach unten hin duplizieren. Das zweite Textfeld inden zu kopierenden MCs ist aber über mehrere Zeilen und daher immer unterschiedlich hoch.

Ich habe dazu folgendes Script gebastelt:
PHP-Code:
for (var i=0i<arr_zubTxt.length-1i++)
{
    var 
nummer:Number i+1;
    
duplicateMovieClip(cook_mov.zubereitung0,"zubereitung"+nummer,cook_mov.getNextHighestDepth());
    
cook_mov["zubereitung"+i].txt2.autoSize true;
    
cook_mov["zubereitung"+i].txt2.wordWrap true;
    
cook_mov["zubereitung"+i].txt2.multiline true;
}
for (var 
i=0i<arr_zubTxt.lengthi++)
{
    
with(cook_mov["zubereitung"+i])
    {
        
txt1 arr_zubTxt[i]["headline"]
        
txt2 arr_zubTxt[i]["description"]
    }
}
var 
newY:Number cook_mov.zubereitung0._y;
for (var 
i=0i<arr_zubTxt.length-1i++)
{
    var 
nummer:Number i+1;
    var 
newX:Number cook_mov.zubereitung0._x;
    
newY += cook_mov["zubereitung"+nummer]._height 12;
    
trace(newY);
    
cook_mov["zubereitung"+nummer]._x newXcook_mov["zubereitung"+nummer]._y newY;

Jetzt mein Problem:

Wenn ich das zweite Textfeld nach unten hin vergrößere, damit auch alle Zeilen angezeigt werden können, habe ich nicht mehr die richtige Höhe zum auslesen.
Wenn ich aber das Textfeld mit einer Zeile vorbereite, aber wie im Script zu sehen, Eigeschaften zum Umbruch, Mehrzeiligkeit und autosize einstelle, apssiert aber nichts weiter. Er macht halt eine Zeile und gut.
__________________
AS3 Lernhilfen
TheFreeman ist offline   Mit Zitat antworten
Alt 07-05-2007, 21:32   #2 (permalink)
Angsthase
 
Benutzerbild von royal_flash
 
Registriert seit: Jun 2001
Ort: Kölle
Beiträge: 591
Soweit ich mich erinnere hat autoSize nur auswirkung
auf Textfelder die per AS erstellt wurden. Also musst du alles dynamisch machen.

Hier nen snippet wie's geht:

PHP-Code:
myString = ["Hallo Welt""Im folgenden Beispiel wird ein Textfeld erstellt und die Textgröße auf 20 Punkt eingestellt.""Im folgenden Beispiel wird ein Textfeld erstellt und die Textgröße auf 20 Punkt eingestellt. Im folgenden Beispiel wird ein Textfeld erstellt und die Textgröße auf 20 Punkt eingestellt."];
for (
i=0i<=2i++) {
    
this.createEmptyMovieClip("txtCon"+ithis.getNextHighestDepth());
    
this["txtCon"+i].createTextField("label"10015020);
    
this["txtCon"+i].label.autoSize true;
    
this["txtCon"+i].label.multiline true;
    
this["txtCon"+i].label.wordWrap true;
    
this["txtCon"+i].label.text myString[i];
    
this["txtCon"+i]._x xPos;
    
this["txtCon"+i]._y this["txtCon"+(i-1)]._height+this["txtCon"+(i-1)]._y+10;

lg Simon
royal_flash ist offline   Mit Zitat antworten
Alt 07-05-2007, 22:31   #3 (permalink)
Gedankengestalter
 
Benutzerbild von TheFreeman
 
Registriert seit: May 2002
Ort: Bayern
Beiträge: 486
Ah, OK, Danke Simon!

Ich hab das aber nun so gelöst:
PHP-Code:
for (var i=1i<arr_zubTxt.lengthi++)
{
    
duplicateMovieClip(cook_mov.zubereitung0,"zubereitung"+i,cook_mov.getNextHighestDepth());
}
for (var 
i=0i<arr_zubTxt.lengthi++)
{
    
cook_mov["zubereitung"+i].txt1.embedFonts true;
    
cook_mov["zubereitung"+i].txt1.text arr_zubTxt[i]["headline"]
    
cook_mov["zubereitung"+i].txt2.autoSize true;
    
cook_mov["zubereitung"+i].txt2.wordWrap true;
    
cook_mov["zubereitung"+i].txt2.multiline true;
    
cook_mov["zubereitung"+i].txt2.embedFonts true;
    
cook_mov["zubereitung"+i].txt2.text arr_zubTxt[i]["description"]
}
var 
newY:Number cook_mov.zubereitung0._y;
for (var 
i=0i<arr_zubTxt.lengthi++)
{
    var 
nummer:Number i+1;
    var 
newX:Number cook_mov.zubereitung0._x;
    
newY += cook_mov["zubereitung"+nummer].txt2.textHeight 45;
    
cook_mov["zubereitung"+nummer]._x newXcook_mov["zubereitung"+nummer]._y newY;

Vielen Dank nochmals.
__________________
AS3 Lernhilfen
TheFreeman 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 05:20 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele