PDA

Volledige versie bekijken : scrollpane source probleem


Gel
%Europe/Berlin %013 %2007, 01:19
hoi

ik zit met dit probleempje:
ik kan in de scrollpane "scrollpane" een externe swf laden met een button van eender waar met:
button.addEventListener(MouseEvent.CLICK, clickHandler);
addChild(button);

function clickHandler(event:MouseEvent):void {
scrollpane.source = "teladenswf.swf";
}

maar het probleem is dat ik een button wil gebruiken in een swf die reeds ingeladen is in die scrollpane om een swf te laden in diezelfde scrollpane maar ik krijg dit dus niet in gang. vroeger werkte dit met root en zo.. nu blijkbaar niet meer...
de scrollpane staat gewoon in de root...

Dauntless
%Europe/Berlin %330 %2007, 08:55
Na het toekennen van de .source kan je anders met scrollpane.contentPath zelf de onRelease op de betreffende button zetten. Dan staat je onRelease script dus in je hoofd mc waardoor je gemakkelijker bij je scrollpane kan graken.

TheDutch
%Europe/Berlin %340 %2007, 09:10
Dauntless, dit is ActionScript 3 en niet ActionScript 2. In ActionScript 3 heb je geen ScrollPane.contentPath (AS3: ScrollPane.content) en onRelease functie (AS3: MouseEvent.CLICK) :).

@Gel: Probeer eens het één en ander te tracen. Wat geeft "root" en "stage" in jouw geval terug?

Gel
%Europe/Berlin %498 %2007, 12:57
ehm, ik begrijp niet echt wat je bedoelt.. ben eigenlijk nog een beginner. miss ben je hier iets mee?

filmpje1.addEventListener(MouseEvent.CLICK, clickHandlerfilmpje1);
addChild(filmpje1);

function clickHandlerfilmpje1(event:MouseEvent):void {
root.scrollpane.source = 'filmpje1.swf';
}
geeft error code:
1119: Access of possibly undefined property scrollpane through a reference with static type flash.display:DisplayObject.

filmpje1.addEventListener(MouseEvent.CLICK, clickHandlerfilmpje1);
addChild(filmpje1);

function clickHandlerfilmpje1(event:MouseEvent):void {
stage.scrollpane.source = 'filmpje1.swf';
}
geeft error code:
1119: Access of possibly undefined property scrollpane through a reference with static type flash.display:Stage.

deze "scrollpane" scrollpane staat in de hoofd swf dus daarom vind hij hem niet. ik heb de actionscript in de swf waar de button in zit gestoken. als ik deze in de hoofd swf steek draait deze door omdat hij de button "filmpje1" niet vind...

Dauntless
%Europe/Berlin %531 %2007, 13:45
Dauntless, dit is ActionScript 3 en niet ActionScript 2. In ActionScript 3 heb je geen ScrollPane.contentPath (AS3: ScrollPane.content) en onRelease functie (AS3: MouseEvent.CLICK) :).

@Gel: Probeer eens het één en ander te tracen. Wat geeft "root" en "stage" in jouw geval terug?
Sorry, ik ging er van uit dat als content bestond, contentpath ook zou bestaan, maar dat is dus verkeerd :). Mijn excuses ;).

TheDutch
%Europe/Berlin %712 %2007, 18:05
Trace "stage" en "root" eens in de click handler :).

trace(root);
trace(stage);

Gel
%Europe/Berlin %892 %2007, 22:24
ok :)

dit geeft dit terug:
[object MainTimeline]
[object Stage]

zowel als ik op de button klink in de te laden swf appart of de swf waar hij ingeladen wordt.

TheDutch
%Europe/Berlin %335 %2007, 09:03
Ok waar precies (welke pad) staat je scrollpane?

Gel
%Europe/Berlin %459 %2007, 12:01
ehm om het in actionscript 2 termen te zeggen:

root.scrollpane is mijn scrollpane
en ik moet een button laten werken uit
root.scrollpane.ingeladenswf.button

is het dat dat je bedoelt?

TheDutch
%Europe/Berlin %324 %2007, 08:47
Ik heb zelf even een test opzetje gemaakt en kwam tot deze conclusie:

trace(root.parent.parent.parent); // [object ScrollPane]
trace(this.parent.parent.parent); // [object ScrollPane]
trace(Object(stage.getChildAt(0)).scrollpane); // [object ScrollPane]

Leer zelf ook te debuggen door veel met trace() te werken, dan kan je over een tijd dit soort dingen zelf oplossen :).