Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-04-2011, 13:41   #1 (permalink)
Neuer User
 
Benutzerbild von MeNcoffee
 
Registriert seit: Apr 2011
Beiträge: 8
Zugriff auf Objekt/Variablen

Guten Tag

Es handelt sich hierbei bestimmt nur um eine Kleinigkeit. Aber ich weiss nicht weiter...

Ich habe in meiner Hauptzeitleiste ein neues Objekt einer eigenen Klasse erzeugt. Diese Klasse enthält momentan nur eine Variable. Mit trace kann ich nun ohne Probleme von meiner Hauptzeitleiste aus dessen Wert wiedergeben und per set-Methode auch ändern.

Nun sollte diese Variable dazu dienen den Status in einem sich auf der Hauptzeitleiste befindenden Movieclip wiederzugeben. Ich möchte nun auf mein erzeugtes Objekt zugreifen. Sobald im Movieclip das Frame 30 erreicht wird, sollte die Variable verändert werden. Wie kann ich nun im Instanzierten MC selbst bei Frame 30 auf dieses Objekt zugreifen?

Ich habe es bereits mit parent.meinObjekt.set...(); versucht und dasselbe mit root.meinObjekt.set...(); Dabei erhalte ich immer den Fehler das es sich um eine nicht definierte Eigenschaft handeln soll.

Dasselbe Problem habe ich mit in der Hauptzeitleiste definierten Variablen auf welche ich dann gerne in sich darauf befindenden MCs zugreifen möchte...

Vielen Dank im Voraus für die Hilfe

LG

ANHANG: Es handelt sich um Flash CS5 und AS3
MeNcoffee ist offline   Mit Zitat antworten
Alt 20-04-2011, 13:56   #2 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
auf die Schnelle:
PHP-Code:
var _p:Object parent as Object;
trace(_p.whatever);
_p.gotoAndPlay(1);
//... 

Frage:
Wieso pfuscht ein Objekt an einem anderen herum, dass sich nix böses denkt, und nur neben ihm liegt.

=> Bau die Objekte so, dass sie über Events Veränderungen mitteilen, und ein Controller (beispielsweise das Eltern-Element) dann bestimmt, was damit anzufangen sei, und entsprechend handelt.
Wenn ich eine Menüliste bin, muss ich die MenüElemente positionieren, und ihnen Text zuweisen, etc. Wie diese Elemente aufgebaut sind, geht mich als menüliste nix an. genausowenig gehen meine Menüitems irgend jemand anderen etwas an.

zwei Grundgedanken zu Objektstrukturen
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 20-04-2011, 15:07   #3 (permalink)
Neuer User
 
Benutzerbild von MeNcoffee
 
Registriert seit: Apr 2011
Beiträge: 8
Also ich habe es jetzt anders versucht:

In der Hauptzeitleiste versuche ich alles zu kontrollieren. Das sieht jetzt so aus:

PHP-Code:
var fadecheck:Boolean false;

if(
fadecheck != false){
    
mailform.gotoAndPlay(2)

Im MC slideshow habe ich bei frame 30.

PHP-Code:
parent.fadecheck true
Die Idee ist, dass sich der MC mailform erst auf die Bühne schiebt, wenn der MC slideshow eingeblendet ist.

Beim kompilieren hab ich aber nun folgenden Fehler:

Symbol 'slideshow', Ebene 'ascript', Bild 30, Zeile 2 1119: Zugriff auf eine möglicherweise nicht definierte Eigenschaft fadecheck über einen Verweis mit statischem Typ flash.displayisplayObjectContainer

Was mach ich falsch? Wäre dies konzeptuell ein besserer Ansatz?
MeNcoffee ist offline   Mit Zitat antworten
Alt 20-04-2011, 15:34   #4 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
Zitat:
Symbol 'slideshow', Ebene 'ascript', Bild 30, Zeile 2 1119: Zugriff auf eine möglicherweise nicht definierte Eigenschaft fadecheck über einen Verweis mit statischem Typ flash.display DisplayObjectContainer
Code:
Object(parent).fadecheck = true;
parent und root sind vom Typ DisplayObjectContainer, und DisplayObjectContainer haben keine Eigenschaft namens fadecheck.
Caste sie nach Object.

ein konzeptionell besserer Ansatz wäre so:
//über Events
PHP-Code:
//im MC auf Frame 30:
dispatchEvent(new Event('fadeCompleted'));

//auf der Hauptzeitleiste
derMC.addEventListener('fadeCompleted'onFadeCompleted);
function 
fadeCompleted(e:Event):void
{
    
mailform.gotoAndPlay(2);

//über Funktionsaufruf:
PHP-Code:
//im MC auf Frame 30:
Object(parent).fadeCompleted();

//auf der Hauptzeitleiste
function fadeCompleted():void
{
    
mailform.gotoAndPlay(2);

wenn es nur um einen Fade geht könntest du dir bspw auch mal die Tweening-Engines ansehen.
TweenLite (greensock.com)
und ein Beispiel zum Thema TweenLite+onComplete nach TweenLite zur Hauptzeitleiste
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 20-04-2011, 15:52   #5 (permalink)
Neuer User
 
Benutzerbild von MeNcoffee
 
Registriert seit: Apr 2011
Beiträge: 8
Thumbs up

Vielen Dank für die Hilfe. Dein Beitrag hat mir sehr geholfen! Habe die Steuerung so nun zum laufen gebracht. Weiter gehts...
MeNcoffee ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
objekt, variable, zugriff

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
Objekt Zugriff aus Unterklassen pixelstricher ActionScript 3 2 20-05-2010 01:35
Zugriff auf Objekt in externer swf chrissy810 ActionScript 2 1 02-10-2007 16:24
Zugriff auf Objekt jenno Softwarearchitektur und Entwurfsmuster 2 02-05-2005 13:19
Zugriff auf Objekt in MC von aussenstehendem MC kingfisher ActionScript 1 7 08-05-2004 20:49
Dynamischer Zugriff auf Objekt? toxisch ActionScript 1 13 28-02-2003 14:02


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

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


Copyright ©1999 – 2012 Marc Thiele