PDA

Volledige versie bekijken : ComboBox, Button, scenes ..


catmo
%Europe/Berlin %404 %2008, 10:43
Beste Flash-kenners,
Ik word echt serieus knetter gek.. Ik moet voor school een applicatie maken en ik zit nu echt helemaal vast.
Het is de bedoeling dat de gebruiker in een dropdown menutje (comboBox) een optie kiest, vervolgens op een knop drukt en dan naar de juiste scene gaat. Dat valt nog vies tegen..

Ik weet van andere opdrachten dat als je met buttons/movieclips wilt navigeren door scenes je dat niet moet aansturen vanuit je main. Je moet je knopjes verzamelen in een nieuwe movieclip, die exporten voor actionscript met de juiste linkage tralalala...
Nu heb ik mijn comboBox aangeroepen in de main (het .as bestand waar de .fla aan gelinkt is) en in een ander .as bestand de knop geprobeerd aan te sturen met:



package
{
import fl.controls.ComboBox;
import fl.controls.Button;
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.*;


public class comboButton extends MovieClip{


public function comboButton() {



knopInstance.addEventListener(MouseEvent.CLICK, clickHandler);

}


function clickHandler(event:MouseEvent):void {


if (comboBoxInstance.selectedIndex == 1) {

MovieClip(root).gotoAndStop(1, "Scene2");


}

if (comboBoxInstance.selectedIndex == 2) {

MovieClip(root).gotoAndStop(1, "Scene3");


}





}
}
}




Ik heb echt het hele internet al af gezocht maar kon echt niet vinden..
Weet iemand misschien hoe ik dit op moet lossen?

awesomo
%Europe/Berlin %510 %2008, 13:15
waar is knopInstance?

ps: klassen schrijven we met een hoofdletter :X

catmo
%Europe/Berlin %526 %2008, 13:37
Dit is niet de exacte text van mijn .as file, de opbouw uiteraard wel maar voor de duidelijkheid heb ik de instancenames veranderd. Het vreemde is juist dat er geen errors gegeven worden. De code is okay, allen het werkt niet.. Foutjes in de code zijn wel te traceren met behulp van kennissen en internet, er zit echter iets fout in de opbouw die ik gebruikt heb denk ik.
Als iemand een suggestie heeft heel graag :-) desnoods een compleet andere aanpak om hetzelfde doel te bereiken.. Anything :X

awesomo
%Europe/Berlin %539 %2008, 13:56
var comboBtn:MovieClip = new MovieClip
comboBtn.addEventListener(MouseEvent.CLICK,onCombo Click)
addChild(comboBtn)

function onComboClick(e:MouseEvent):void {
switch(comboBoxInstance.selectedIndex) {
case 1:
gotoAndStop(1,"Scene2")
break
case 2:
gotoAndStop(1,"Scene3")
break
default:
// niets
break
}
}
zoiets?

Mr. Black
%Europe/Berlin %541 %2008, 14:00
Niet een aparte class van maken. In de Main class heb je gewoon toegang tot de 'root' via het this keyword. Dus gewoon in Main class:

public function Main()
{
knop.addEventListener( MouseEvent.CLICK, go );
}

private function go( event:MouseEvent ):void
{
this.gotoAndStop( 1, "Scene 2" );
}

Uiteraard nog checken wat geselecteerd is. :)

catmo
%Europe/Berlin %813 %2008, 20:32
Ik heb eindelijk gevonden wat er mis was..
In mijn Preferences miste er een path, namelijk: .
Die heb ik boven aan mijn lijst toegevoegd en nu communiceert de .fla met de .as bestanden en krijg ik de errors die ik nodig heb om het probleem op te lossen :-).
Dus, "niet meer met de instellingen klooien als je er geen verstand van hebt" is de les die ik geleerd heb (A)