Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-02-2012, 11:05   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 17
Von der Timeline auf Klassenvariablen zugreifen

Hallo,
ich habe eine Klasse "Car" in einer externen Car.as erstellt, welche MovieClip erweitert. Den MovieClip Car habe ich von Anfang an auf meiner Bühne und würde jetzt gerne auf Attribute der Klasse von der Hauptzeitleiste aus zugreifen. Ich habe Probiert dem MovieClip einen Instanznamen zu geben und dann per instanzname.variable auf Attribute zu greifen zu können. Leider führt aber allein das Vergeben eines Instanznamens schon zu einer Fehlermeldung. Die Attribute auf die ich zugreifen will sind public!
Alternativ würde es mich auch weiter bringen zu wissen, wie ich aus der Klasse "Car" die Hauptzeitleiste ansteuern kann. Auf die Klassen Attribute zu greifen zu können, wäre aber sehr viel besser. Beides kann ich leider nicht so richtig rausfinden und alle Lösungsansätz die ich entdeckt habe, scheinen nicht so gut zu funktionieren.
Über Anregungen wäre ich sehr dankbar!
Grüße,
Sven

Geändert von SvenF86 (03-02-2012 um 11:11 Uhr)
SvenF86 ist offline   Mit Zitat antworten
Alt 03-02-2012, 11:22   #2 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Zitat:
Zitat von SvenF86 Beitrag anzeigen
Ich habe Probiert dem MovieClip einen Instanznamen zu geben und dann per instanzname.variable auf Attribute zu greifen zu können.
Das ist auch eigentlich der richtige Weg.
Wie sieht denn Dein Code aus und wo steht er?
Hast Du Dir einfach mal die Instanz tracen lassen?

Zitat:
Zitat von SvenF86 Beitrag anzeigen
Leider führt aber allein das Vergeben eines Instanznamens schon zu einer Fehlermeldung.
Und wie lautet diese Fehlermeldung? Die Dinger werden nicht aus Bosheit angezeigt, sondern sollen einem helfen, die Fehler zu finden!
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 03-02-2012, 11:36   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 17
Danke für deine schnelle Antwort!
Die Fehlermeldung lautet:
ReferenceError: Error#1056: Eigenschaft auto in flash.display.Stage kann nicht erstellt werden

Sie kommt wie gesagt sobald ich dem MovieClip lediglich einen Instanznamen gebe. Daher kann ich die Instanz auch nicht tracen.
Mein Code steht halt zum großteil in der externen Car.as
Ich würde nun aber gerne noch die Zeitleiste in abhängigkeit von Attributen der Car.as steuern.

Geändert von SvenF86 (03-02-2012 um 11:38 Uhr)
SvenF86 ist offline   Mit Zitat antworten
Alt 03-02-2012, 11:41   #4 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Seltsam ...
  1. auto ist also der von Dir eingegebene Instanzname?
  2. Und es gibt bisher überhauptkeinen Code auf der Zeitleiste?
  3. Hast Du Deiner .fla eine Dokumentklasse zugewiesen? Wenn ja, wie sieht die aus?
  4. Wie sieht der Code in der Klasse aus?
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 03-02-2012, 11:50   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 17
Post

zu 1. genau, "auto" ist der gewählte instanzname
zu 2. es gibt Code in den Frames vorher und nachher, aber nichts auf dem Frame auf dem das "Car" liegt. Vorher gibts ein Menü welches eigentlich auch nur ein bisschen die Zeitleiste steuert. Nachher wird noch eine XML Datei gelesen und geschrieben. Die eigentliche Programmlogik steht aber in der Car.as und weiteren externen Klassen die alle auf diesem einen Frame liegen.
zu 3. nein
zu 4. der Code ist nicht so super wenig... ich häng dir mal die car.as mit an (in car.txt umbenannt).

Vielen Dank!
Angehängte Dateien
Dateityp: txt Car.txt (7,9 KB, 6x aufgerufen)
SvenF86 ist offline   Mit Zitat antworten
Alt 03-02-2012, 12:47   #6 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Das ist wirklich seltsam, weil eigentlich sollte Deine Hauptzeitleiste garnicht vom Typ Stage sein, sondern vom Typ MovieClip?!

Hast Du es mal mit einem anderen Namen versucht? Möglich, dass auto schon irgendwo, irgendwie verwendet wird?!

In Car werden etliche Dinge direkt auf stage gelegt. Das ist i.d.R. unsinnig und gefährlich! Bis auf den KeyListener kannst Du stage da überall weglassen und die Objekte so in den auto-Container legen!
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (07-02-2012 um 13:06 Uhr)
Martin Kraft ist offline   Mit Zitat antworten
Alt 07-02-2012, 08:23   #7 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 17
Hallo Martin und danke für deine Antwort,
das mit dem Instanznamen und dem Autocontainer werde ich gleich nochmal testen. Aber, dass meine Hauptzeitleiste vom falschen Typ sein soll, kann ich mir schon vorstellen. Könnte das vielleicht auch der Grund sein, warum ein gotoAnPlay() auf dem Frame generell nicht funktioniert? Auch wenn ich es unabhängig von irgendwelchen "Car" Variablen setze, wird es einfach ignoriert! Auf den anderen Frames läuft es ohne probleme...
Wie kann ich denn den Typ ändern?
SvenF86 ist offline   Mit Zitat antworten
Alt 07-02-2012, 13:07   #8 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Zitat:
Zitat von SvenF86 Beitrag anzeigen
Wie kann ich denn den Typ ändern?
Der Typ der Hauptzeitleiste entspricht der Dokumentklasse, die Du mit ihr verknüpft hast.
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (07-02-2012 um 13:52 Uhr)
Martin Kraft 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
Aus eigener Klasse auf Timeline AS Methoden zugreifen DCr33P ActionScript 3 6 21-12-2009 22:49
[Flash CS4] auf in der Timeline erstellte Variablen zugreifen Bambi0815 Flash Einsteiger 3 13-07-2009 21:42
In statischer Methode auf Klassenvariablen zugreifen? claudiato ActionScript 2 2 22-02-2006 11:44
klassenvariablen: gültigkeitsbereich? mc_hammer Softwarearchitektur und Entwurfsmuster 8 19-04-2005 10:16
auf die Timeline mit LoadMovieNum geladener Filme zugreifen? misfit ActionScript 1 2 09-01-2003 16:28


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

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


Copyright ©1999 – 2012 Marc Thiele