Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-04-2009, 12:45   #1 (permalink)
am lernen
 
Registriert seit: Feb 2007
Beiträge: 88
AS2 erstelltes Textfield wird nicht angezeigt

Eigentlich ist mein einziges Problem das wenn ich diese function aufrufe das Textfeld nicht angezeigt wird und es anscheinend garnicht exestiert(also undefined ist)
Würde mir sehr helfen wenn ihr mir sagt wo der Fehler ist ob in meinem gedanken gang oder in der Syntax

Code:
unterpunktErstellenFun = function(submenuPfad:MovieClip, unterpunkt:String)
{	
	this.submenuPfad.createTextField(unterpunkt+counter , counter , 0 , 0 , 130 , 15); 
	submenuPfad[unterpunkt+counter].text = unterpunkt+counter;
	submenuPfad[unterpunkt+counter].embedFonts = true;
	submenuPfad[unterpunkt+counter].antiAliasType = "advanced";
	var style_fmt:TextFormat = new TextFormat();
	style_fmt.font = "Verdana (embedded)";
	style_fmt.size = 15;
	submenuPfad[unterpunkt+counter].setTextFormat(style_fmt);
	
	unterpunktPosY = counter * 10;
	unterpunktPosX = (submenuPfad._width -  submenuPfad[unterpunkt+counter]._width) / 2;
	submenuPfad[unterpunkt+counter]._x = unterpunktPosX;
	submenuPfad[unterpunkt+counter]._y = unterpunktPosY;
	
	trace("counter -> " +counter +typeof( counter ));                                            //1number
	trace("submenuPfad -> " +submenuPfad);	                                                  //_level0.menuCon.submenu0
	trace("submenuPfad.unterpunkt -> " +submenuPfad[unterpunkt+counter]);	                        //undefined
	trace("submenuPfad.unterpunkt._width -> " +submenuPfad[unterpunkt+counter]._width);	//undefined
	trace("submenuPfad.unterpunkt._x -> " +submenuPfad[unterpunkt+counter]._x);              	//undefined
	trace("submenuPfad.unterpunkt._y -> " +submenuPfad[unterpunkt+counter]._y);	                //undefined
	
	counter++;
}

Im voraus schon Danke für eure Hilfe =)

Geändert von Sebi1989 (24-04-2009 um 12:53 Uhr)
Sebi1989 ist offline   Mit Zitat antworten
Alt 24-04-2009, 12:54   #2 (permalink)
So'n User
 
Benutzerbild von anfiba
 
Registriert seit: Dec 2005
Beiträge: 207
Hallo,

lass' mal den "this"-Bezeichner hier weg

PHP-Code:
this.submenuPfad.createTextField(unterpunkt+counter counter 130 15); 
also so sollte es aussehen:

PHP-Code:
submenuPfad.createTextField(unterpunkt+counter counter 130 15); 
anfiba ist offline   Mit Zitat antworten
Alt 24-04-2009, 13:06   #3 (permalink)
am lernen
 
Registriert seit: Feb 2007
Beiträge: 88
wow
ok damit hab ich nicht gerechnet meine traces zeigen an das der text da ist,
seh ihn aber nicht muss grad mal gucken wodran das liegt danke für deine schnelle hilfe.
Kannste mir erklären warum ich das da nicht hin packen darf?

Geändert von Sebi1989 (24-04-2009 um 13:12 Uhr)
Sebi1989 ist offline   Mit Zitat antworten
Alt 24-04-2009, 13:15   #4 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Bei mir geht des auch m,it dem "this"!
PHP-Code:
this.createEmptyMovieClip ("menuCon",this.getNextHighestDepth ());
this.menuCon.createEmptyMovieClip ("submenu0",this.menuCon.getNextHighestDepth ());
var 
submenuPfad:MovieClip this.menuCon.submenu0;
var 
counter:Number 1;
var 
unterpunkt:String "punkt";
function 
unterpunktErstellenFun (submenuPfad:MovieClipunterpunkt:String) {
    
this.submenuPfad.createTextField (unterpunkt counter,counter,0,0,130,15);
    
submenuPfad[unterpunkt counter].text =unterpunkt+counter;
    
submenuPfad[unterpunkt counter].embedFonts true;
    
submenuPfad[unterpunkt counter].antiAliasType "advanced";
    var 
style_fmt:TextFormat = new TextFormat ();
    
style_fmt.font "Verdana";
    
style_fmt.size 15;
    
submenuPfad[unterpunkt counter].setTextFormat (style_fmt);
    
unterpunktPosY counter 10;
    
unterpunktPosX = (submenuPfad._width submenuPfad[unterpunkt counter]._width) / 2;
    
submenuPfad[unterpunkt counter]._x unterpunktPosX;
    
submenuPfad[unterpunkt counter]._y unterpunktPosY;
    
trace ("counter -> " counter typeof (counter));//1number
    
trace ("submenuPfad -> " submenuPfad);//_level0.menuCon.submenu0
    
trace ("submenuPfad.unterpunkt -> " submenuPfad[unterpunkt counter]);//submenuPfad.unterpunkt -> _level0.menuCon.submenu0.punkt1
    
trace ("submenuPfad.unterpunkt._width -> " submenuPfad[unterpunkt counter]._width);//submenuPfad.unterpunkt._width -> 130
    
trace ("submenuPfad.unterpunkt._x -> " submenuPfad[unterpunkt counter]._x);//submenuPfad.unterpunkt._x -> 0
    
trace ("submenuPfad.unterpunkt._y -> " submenuPfad[unterpunkt counter]._y);//submenuPfad.unterpunkt._y -> 10
    //counter++;
}
unterpunktErstellenFun(submenuPfadunterpunkt); 
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 24-04-2009, 13:17   #5 (permalink)
So'n User
 
Benutzerbild von anfiba
 
Registriert seit: Dec 2005
Beiträge: 207
Also,

der this-Bezeichner ist immer das Objekt, dem die Methode gehört. In Deinem Fall ist das die Zeitleiste/MC, in dem diese Methode steht

PHP-Code:
unterpunktErstellenFun = function(submenuPfad:MovieClipunterpunkt:String
Da Du aber auf einen Parameter der Methode zugreifen willst, welcher ja nur innerhalb der Methode existiert, darfst Du da nicht mit "this" referenzieren.
anfiba ist offline   Mit Zitat antworten
Alt 24-04-2009, 13:19   #6 (permalink)
So'n User
 
Benutzerbild von anfiba
 
Registriert seit: Dec 2005
Beiträge: 207
@RustyCake:

Bei Dir geht es deshalb, da Du diesen Code auf der gleichen Ebene stehen hast wie die Methode

PHP-Code:
var submenuPfad:MovieClip this.menuCon.submenu0
Somit referenzierst Du beim Aufruf

PHP-Code:
this.submenuPfad.createTextField (unterpunkt counter,counter,0,0,130,15); 
nicht auf den Parameter der Methode, sondern auf die o.g. Variable!!!
anfiba ist offline   Mit Zitat antworten
Alt 24-04-2009, 13:20   #7 (permalink)
am lernen
 
Registriert seit: Feb 2007
Beiträge: 88
aso ok danke für die erklärung.
ich wundere mich jetzt immer noch das der laut meinen traces da ist und
dennoch nicht angezeigt wird kann sich das einer von euch erklären wodran das liegt?
Sebi1989 ist offline   Mit Zitat antworten
Alt 24-04-2009, 13:28   #8 (permalink)
So'n User
 
Benutzerbild von anfiba
 
Registriert seit: Dec 2005
Beiträge: 207
Also:

Dieser trace

PHP-Code:
 trace ("submenuPfad -> " submenuPfad);//_level0.menuCon.submenu0 
ist erfolgreich, da Du hier auch richtigerweise auf den Parameter der Methode zugreifst.

Diese traces

PHP-Code:
trace ("submenuPfad.unterpunkt -> " submenuPfad[unterpunkt counter]);//submenuPfad.unterpunkt -> _level0.menuCon.submenu0.punkt1
    
trace ("submenuPfad.unterpunkt._width -> " submenuPfad[unterpunkt counter]._width);//submenuPfad.unterpunkt._width -> 130
    
trace ("submenuPfad.unterpunkt._x -> " submenuPfad[unterpunkt counter]._x);//submenuPfad.unterpunkt._x -> 0
    
trace ("submenuPfad.unterpunkt._y -> " submenuPfad[unterpunkt counter]._y);//submenuPfad.unterpunkt._y -> 10 
funktionieren, da Du an solchen Stellen

PHP-Code:
submenuPfad[unterpunkt counter]._x unterpunktPosX;
submenuPfad[unterpunkt counter]._y unterpunktPosY
sozusagen Variablen erstellst. Wie wenn Du an einen MC eine Variable dran hängst

z.B.
PHP-Code:
mc.test 15
anfiba ist offline   Mit Zitat antworten
Alt 24-04-2009, 13:33   #9 (permalink)
am lernen
 
Registriert seit: Feb 2007
Beiträge: 88
das versteh ich jetzt nicht richtig, die traces geben mir die werte wieder:

Code:
counter -> 1number
submenuPfad -> _level0.menuCon.submenu0
submenuPfad.unterpunkt -> _level0.menuCon.submenu0.industry1
submenuPfad.unterpunkt._width -> 130
submenuPfad.unterpunkt._x -> 10.5
submenuPfad.unterpunkt._y -> 10
und das sind ja auch die richtigen allerdings ist das textfeld dort nicht zusehen.
Sebi1989 ist offline   Mit Zitat antworten
Alt 24-04-2009, 13:53   #10 (permalink)
So'n User
 
Benutzerbild von anfiba
 
Registriert seit: Dec 2005
Beiträge: 207
Dazu müsste man den Code in der Gesammtheit sehen um zu checken, ob an einer anderen Stelle noch was gemacht wird, was den Code beeinflusst.
anfiba ist offline   Mit Zitat antworten
Alt 24-04-2009, 14:07   #11 (permalink)
am lernen
 
Registriert seit: Feb 2007
Beiträge: 88
Thumbs up

PHP-Code:
counter 1;

this.createEmptyMovieClip("menuCon"3); 
PHP-Code:
this.menuCon.createEmptyMovieClip("submenu0"1);
this.menuCon.submenu0.attachMovie("submenu1""bg"0); 
PHP-Code:
new Tween(menuCon.submenu0"_x"Strong.easeIn02000.3true); 
das müsste alles sein was den code beeinflussen könnte.
hoffe das hilft möchte ungern den ganzen code reinstellen.
Sebi1989 ist offline   Mit Zitat antworten
Alt 24-04-2009, 14:18   #12 (permalink)
So'n User
 
Benutzerbild von anfiba
 
Registriert seit: Dec 2005
Beiträge: 207
Kommentiere mal dieses aus

PHP-Code:
submenuPfad[unterpunkt+counter].embedFonts true;
submenuPfad[unterpunkt+counter].antiAliasType "advanced";
var 
style_fmt:TextFormat = new TextFormat();
style_fmt.font "Verdana (embedded)";
style_fmt.size 15;
submenuPfad[unterpunkt+counter].setTextFormat(style_fmt); 
Und schaue dann ob der Text dargestellt wird. Könnte auch an der Schrifteinbettung liegen.
anfiba ist offline   Mit Zitat antworten
Alt 24-04-2009, 14:21   #13 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
sehe keinen Fehler.
[edith]
Habs nachgebaut, funzt!
[/edith]
PHP-Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
this.createEmptyMovieClip ("menuCon",3);
this.menuCon.createEmptyMovieClip ("submenu0",1);
this.menuCon.submenu0.attachMovie("back""bg"0);
var 
t:Tween = new Tween(menuCon.submenu0"_x"Strong.easeIn02000.3true);  
var 
submenuPfad:MovieClip this.menuCon.submenu0;
var 
counter:Number 1;
var 
unterpunkt:String "punkt";
function 
unterpunktErstellenFun (submenuPfad:MovieClipunterpunkt:String) {
    
submenuPfad.createTextField (unterpunkt counter,counter,0,0,130,15);
    
submenuPfad[unterpunkt counter].text =unterpunkt+counter;
    
submenuPfad[unterpunkt counter].embedFonts true;
    
submenuPfad[unterpunkt counter].antiAliasType "advanced";
    var 
style_fmt:TextFormat = new TextFormat ();
    
style_fmt.font "Verdana";
    
style_fmt.size 15;
    
submenuPfad[unterpunkt counter].setTextFormat (style_fmt);
    
unterpunktPosY counter 10;
    
unterpunktPosX = (submenuPfad._width submenuPfad[unterpunkt counter]._width) / 2;
    
submenuPfad[unterpunkt counter]._x unterpunktPosX;
    
submenuPfad[unterpunkt counter]._y unterpunktPosY;
    
trace ("counter -> " counter typeof (counter));//1number
    
trace ("submenuPfad -> " submenuPfad);//_level0.menuCon.submenu0
    
trace ("submenuPfad.unterpunkt -> " submenuPfad[unterpunkt counter]);//submenuPfad.unterpunkt -> _level0.menuCon.submenu0.punkt1
    
trace ("submenuPfad.unterpunkt._width -> " submenuPfad[unterpunkt counter]._width);//submenuPfad.unterpunkt._width -> 130
    
trace ("submenuPfad.unterpunkt._x -> " submenuPfad[unterpunkt counter]._x);//submenuPfad.unterpunkt._x -> 0
    
trace ("submenuPfad.unterpunkt._y -> " submenuPfad[unterpunkt counter]._y);//submenuPfad.unterpunkt._y -> 10
}
unterpunktErstellenFun(submenuPfadunterpunkt); 
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"

Geändert von RustyCake (24-04-2009 um 14:23 Uhr)
RustyCake ist offline   Mit Zitat antworten
Alt 24-04-2009, 14:22   #14 (permalink)
am lernen
 
Registriert seit: Feb 2007
Beiträge: 88
klasse das wars daran lag es war das falsch formatiert
oder warum hat der den dadurch nicht angezeigt

afjedenfall herzlichen dank an euch
jetzt funktioniert es wie ich es mir vorgestellt habe.
Sebi1989 ist offline   Mit Zitat antworten
Alt 24-04-2009, 14:25   #15 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
"Verdana (embedded)"//war des noch drinne "embedded"
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
createtextfield, textfeld, textfield

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 21:38 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele