Archief - FLASH: Probleem navigatiemenu

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

borracho

Legacy Member
k ik heb dus een volledig menu (soort treeview) in flash gemaakt maar zit nu met het probleem dat als je 2 of meer opties selecteert deze allemaal de status "selected" krijgen.

Knoppen bestaan dus volledig uit MC maar zoek nu dus een manier om te achterhalen hoe je kan te weten komen of er een MC de status "selected" heeft. Heb niet echt veel verstand van actionscript maar doe het nu met

Code:
MC3.onPress = klik2;
function klik2() 
{
	Sub2.gotoAndPlay(2)  //als treeview toe, deze openplooien
	MC4.gotoAndPlay(28)
	MC5.gotoAndPlay(28)
	
	if(this._currentframe==2){   // als al selected terug dichtplooien
	//MC1.gotoAndPlay(4) //status terug normaal
	Sub2.gotoAndPlay(11)
	MC4.gotoAndPlay(41)
	MC5.gotoAndPlay(41)
}
}

De lijn met MC1.gotoAndPlay om weer een gewone status te krijgen werkt echter niet omdat die volgens mij wordt tegengewerkt door een onRelease functie die deze dan altijd weer status van selected geven.


Een tweede probleem dat ik heb is dat bij sommige motion tweens er een bocht inkomt ipv dat deze recht naar beneden openplooit of toegaat. Deze staan op dezelfde lijn maar om de een of andere reden komt er bij sommige een bocht in.

Borracho2

LunchBox

Legacy Member
je kan de movieclips een extra variabele geven met als datatype een Boolean: true/false. binnen een loop kan je ze dan allemaal resetten vooraleer je een nieuwe knop "aanzet" (zo heb je'r geen twee die opstaan)

voorbeeldcode: MC1,MC2,MC3 staan op de hoofdtijdslijn en krijgen een extra variabele "statusselected" mee ingesteld op "false"
Code:
root=this;
function buttonsResetten(){
	for(var i=1;i<4;i++){
		root["MC"+i].statusselected=false;
	}
}
buttonsResetten();

op die variabele kan je dan controleren of hij selected is of niet.

LunchBox

Legacy Member
ik had overigens net een menureeks nodig die z'n state onthoudt.. werkwijze die ik gebruik is steeds het te doen werken op 1 knop:
Code:
root.thumbnails_mc.thumb1_mc.clicked=false;
root.thumbnails_mc.thumb1_mc.onRollOver=function(){
	if(!this.clicked){
		this.gotoAndStop("hover");
	}
}
root.thumbnails_mc.thumb1_mc.onRollOut=function(){
	if(!this.clicked){
		this.gotoAndStop("normal");
	}else{
		this.enabled=false;
	}
}
root.thumbnails_mc.thumb1_mc.onRelease=function(){
	this.gotoAndStop("clicked");
	this.clicked=true;
}

en als dit werkt de code over te zetten op een loop waarin meerdere knoppen hetzelfde gedrag zullen gaan vertonen:
Code:
for(i=0;i<5;i++){
	thumbMC=root.thumbnails_mc.attachMovie("phase3_thumbID","thumb"+(i+1)+"_mc",i);
	thumbMC._x=386+(i*64);
	thumbMC._y=504;
	thumbMC.id=i+1;
	thumbMC.clicked=false;
	thumbMC.onRollOver=function(){
		if(!this.clicked){
			root.thumbnails_mc["thumb"+this.id+"_mc"].gotoAndStop("hover");
		}
	}
	thumbMC.onRollOut=function(){
		if(!this.clicked){
			root.thumbnails_mc["thumb"+this.id+"_mc"].gotoAndStop("normal");
		}else{
			root.thumbnails_mc["thumb"+this.id+"_mc"].enabled=false;
		}
	}
	thumbMC.onRelease=function(){
		root.thumbnails_mc["thumb"+this.id+"_mc"].gotoAndStop("clicked");
		root.thumbnails_mc["thumb"+this.id+"_mc"].clicked=true;
	}
}

zo bespaar je je een heleboel werk om ze één voor één aan te passen nadien. nog beter zou een AS2.0 klasse schrijven zijn uiteraard, maar enfin laat het ons relatief basic houden. (je kan er eentje op stage zetten en voor duplicateMovieClip kiezen of het object in je library een linkage naam geven en dynamisch op de stage plaatsen, in dit voorbeeld doe ik't laatste)

moest er na m'n eindwerk tijd overschieten, zal'k trachten ook de fla/swf files online te zetten zodat je ziet hoe die structuur is opgebouwd.

borracho

Legacy Member
k al bedankt zal mijn menu hiermee wat proberen te herwerken want moet ze nu inderdaad allemaal nog 1 voor 1 aanpassen.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan