Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-07-2010, 16:36   #1 (permalink)
Ali
Neuer User
 
Registriert seit: Jun 2010
Ort: Münster/Berlin
Beiträge: 160
Auf Sub-Element eines MovieClips zugreifen

Ich habe einen Movieclip erstellt, der ein TLF-Textfeld mit dem Instanznamen 'beschreibung' beinhält.

Leider kann ich dies nicht via this.beschreibung oder this.getChildByName('beschreibung') ansprechen.

Wo liegt mein Denkfehler?
Ali ist offline   Mit Zitat antworten
Alt 07-07-2010, 16:42   #2 (permalink)
Neuer User
 
Benutzerbild von Simse179
 
Registriert seit: Feb 2005
Beiträge: 457
Was hast Du denn damit vor?

Ich schätze mal, Du suchst das:
ActionScript:
  1. mc_name.beschreibung.text = "xyz";
(kanns gerade nicht testen, aber ich denke, dass man ein TLF-Text wie
ein dynamisches Textfeld anspricht?)
Simse179 ist offline   Mit Zitat antworten
Alt 07-07-2010, 16:45   #3 (permalink)
Ali
Neuer User
 
Registriert seit: Jun 2010
Ort: Münster/Berlin
Beiträge: 160
Habe halt als MovieClip ne Sidebar die Titel und nen Beschreibungstext enthält.
Im Rahmen einer Klasse möchte ich die beiden Texte anpassbar machen.
Dein Code liefert folgendes zurück:

Zitat:
TypeError: Error #1009: Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich.
Ali ist offline   Mit Zitat antworten
Alt 07-07-2010, 21:55   #4 (permalink)
lebt in stereo
 
Benutzerbild von figure8
 
Registriert seit: Mar 2008
Ort: karlsruhe
Beiträge: 1.093
mehr code bitte
__________________
* Flash-JunkieMusiker & Grafiker

# Marvin Blase
# Speaker, Author, Silly Billy.
# @beautifycode
figure8 ist offline   Mit Zitat antworten
Alt 08-07-2010, 10:41   #5 (permalink)
Ali
Neuer User
 
Registriert seit: Jun 2010
Ort: Münster/Berlin
Beiträge: 160
Zitat:
Zitat von figure8 Beitrag anzeigen
mehr code bitte
Hmm..da ist eigentlich nicht viel dabei.
Hier ein Auszug aus der Dokumentenklasse im Flash Builder.

Code:
		private var sidebar:Sidebar;
		
		public function TralalaKlasse()
		{
			super();
			sidebar = new Sidebar();
			this.addChild(sidebar);
}
Den zugehörigen MovieClip habe ich in Flash Professional bearbeitet.
Dieser enthält mehrere andere MovieClips, ,TLF-Textfelder und Formen.
Auf die Textfelder würde ich gerne zugreifen, aber es funktioniert so nicht.
Ali ist offline   Mit Zitat antworten
Alt 08-07-2010, 10:45   #6 (permalink)
lebt in stereo
 
Benutzerbild von figure8
 
Registriert seit: Mar 2008
Ort: karlsruhe
Beiträge: 1.093
und wie versuchst du dein textfeld zu erreichen? und wie genau ist der verschachtelt? folgendes würde auf jeden fall funktionieren, wenn dein textfeld z.B. contentTF heißt und direkt im clip liegt:

ActionScript:
  1. sidebar.contentTF.text = "hi";
__________________
* Flash-JunkieMusiker & Grafiker

# Marvin Blase
# Speaker, Author, Silly Billy.
# @beautifycode
figure8 ist offline   Mit Zitat antworten
Alt 08-07-2010, 11:01   #7 (permalink)
Ali
Neuer User
 
Registriert seit: Jun 2010
Ort: Münster/Berlin
Beiträge: 160
Ich habe als Beispiel mal ne Flash-Datei mit der Sidebar erstellt und im 1. Frame via sideb.beschreibung.text='lalala'; den Text verändert.
Die Flash-Datei habe ich angehangen.

Das funktioniert auch. Wenn ich das aber aus einer Klasse heraus versuche gibt es die oben genannten Probleme.
Hier der Source der Klasse:

Code:
package
{
	import flash.display.MovieClip;
	
	public class Sidebar extends MovieClip
	{
		public function Sidebar()
		{
			super();
			this.beschreibung.text = "jajaja";
		}
	}
}
Angehängte Dateien
Dateityp: fla Subelement-Zugriff.fla (10,2 KB, 7x aufgerufen)
Ali ist offline   Mit Zitat antworten
Alt 08-07-2010, 12:36   #8 (permalink)
lebt in stereo
 
Benutzerbild von figure8
 
Registriert seit: Mar 2008
Ort: karlsruhe
Beiträge: 1.093
ist das cs5? mein cs4 sagt "unerwartetes dateiformat".

aber ja, ist ja klar - da deine sidebar von MovieClip erbt und es eben in der MovieClip-klasse kein "beschreibung"-textfield gibt, spuckt er den fehler aus.
oder ist das die doc-class? falls ja, muss auch dort erst noch in den sidebar-clip navigiert werden.
__________________
* Flash-JunkieMusiker & Grafiker

# Marvin Blase
# Speaker, Author, Silly Billy.
# @beautifycode
figure8 ist offline   Mit Zitat antworten
Alt 08-07-2010, 14:03   #9 (permalink)
lebt in stereo
 
Benutzerbild von figure8
 
Registriert seit: Mar 2008
Ort: karlsruhe
Beiträge: 1.093
ah, gerade etwas gelesen über diese TLFTextFields..

ActionScript:
  1. InteractiveObject(holder_mc.tlf1.getChildAt(1)).tabIndex = 1

probier´s mal aus. scheint ja abgefahren zu sein aber vielleicht klappt es so in der art auch die .text property anzusprechen. vielleicht nicht unbedingt als InteractiveObject casten.
__________________
* Flash-JunkieMusiker & Grafiker

# Marvin Blase
# Speaker, Author, Silly Billy.
# @beautifycode
figure8 ist offline   Mit Zitat antworten
Alt 09-07-2010, 09:49   #10 (permalink)
Ali
Neuer User
 
Registriert seit: Jun 2010
Ort: Münster/Berlin
Beiträge: 160
Habe das Textfeld mal in ein dynamisches Textfeld umgewandelt und siehe da, es funktioniert...

Das hier zu deiner Lösung:
hmm das scheint es auch nicht zu sein:

Code:
InteractiveObject(this.beschreibung.getChildAt(1)).tabIndex = 1;
1180: Aufruf einer möglicherweise undefinierten Methode InteractiveObject.

Code:
this.beschreibung.getChildAt(1).tabIndex = 1;
1119: Zugriff auf eine möglicherweise nicht definierte Eigenschaft tabIndex über einen Verweis mit statischem Typ flash.displayisplayObject
Ali ist offline   Mit Zitat antworten
Alt 09-07-2010, 10:07   #11 (permalink)
lebt in stereo
 
Benutzerbild von figure8
 
Registriert seit: Mar 2008
Ort: karlsruhe
Beiträge: 1.093
a) import
b) weil's kein InteractiveObject ist
__________________
* Flash-JunkieMusiker & Grafiker

# Marvin Blase
# Speaker, Author, Silly Billy.
# @beautifycode
figure8 ist offline   Mit Zitat antworten
Alt 12-07-2010, 09:07   #12 (permalink)
Ali
Neuer User
 
Registriert seit: Jun 2010
Ort: Münster/Berlin
Beiträge: 160
Und weiter geht die wilde Fahrt.

Nach hinzufügen des Imports geht sogar:

Code:
InteractiveObject(this.beschreibung.getChildAt(1)).tabIndex = 1;
Wie ändere ich aber jetzt den Text davon?

Code:
InteractiveObject(this.beschreibung.text) = 'lalawurst';
führt zu:

1105: Ziel der Zuweisung muss ein Verweiswert sein.

Code:
InteractiveObject(this.beschreibung).text = 'lalawurst';
und:
Code:
InteractiveObject(this.beschreibung.getChildAt(1)).text = 'lalawurst';
führen zu:

1119: Zugriff auf eine möglicherweise nicht definierte Eigenschaft text über einen Verweis mit statischem Typ
Ali ist offline   Mit Zitat antworten
Alt 12-07-2010, 09:18   #13 (permalink)
Neuer User
 
Benutzerbild von mohj
 
Registriert seit: Jan 2009
Beiträge: 423
Hallo

Dein Problem liegt eher darin, dass dein Textfeld im Konstruktor noch gar nicht initialisiert ist. Wenn du beispielsweise ein ADDED_TO_STAGE Event abwartest, wirds wohl auch funktionieren.
PHP-Code:
package
{
    
import flash.display.MovieClip;
    
import flash.events.Event;
    
    public class 
Sidebar extends MovieClip
    
{
        public function 
Sidebar()
        {
            
super();
            
addEventListener(Event.ADDED_TO_STAGEonAdded);
        }
        
        private function 
onAdded(event:Event):void
        
{
            
removeEventListener(Event.ADDED_TO_STAGEonAdded);
            
this.beschreibung.text "jajaja";
        }
    }

mohj ist offline   Mit Zitat antworten
Alt 12-07-2010, 09:28   #14 (permalink)
Ali
Neuer User
 
Registriert seit: Jun 2010
Ort: Münster/Berlin
Beiträge: 160
Ah!
Genau das ist es.
Vielen Dank.
Ali 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
wie kann ich auf movieclips in geladener swf zugreifen niwe ActionScript 3 4 27-03-2009 14:24
Aus der Klasse eines MovieClips auf ein Objekt des MovieClips zugreifen... netterkerl1981 ActionScript 3 4 11-12-2008 14:50
movieclips in array und auf eigenschaft zugreifen HOW TO? pranko Flash MX 2004 12 14-12-2005 12:31
Auf duplizierte Movieclips zugreifen Eazyjd Flash MX 2004 3 13-07-2005 10:21
Element eines Arrays Fet Braun ActionScript 1 4 07-01-2002 16:55


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

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


Copyright ©1999 – 2012 Marc Thiele