Portál AbcLinuxu, 13. května 2025 03:04

Dotaz: Chování proměnné (ActionScript 3.0)

13.7.2016 14:40 Martin22GLX
Chování proměnné (ActionScript 3.0)
Přečteno: 371×
Odpovědět | Admin
Zdravím, snažím se naprogramovat menší hru. Nejsem v programování moc zběhlý. Je to sice v AS3, ale můj dotaz je na obecné úrovni. Mám vytvořená černobílá tlačítka (petr,pavel...), které překrývají barevné movieclipy. Jako symboliku zmáčknutého tlačítka. Může být zaškrtnuto vždy jen jedno z těch 2. Proměnné (pavelON, petrON,....) pak symbolizují stav tlačítka ON/OFF. Vše funguje tak jak má ,ale když pak chci aby se na konci objevilo další tlačíko ("ok"), symbolizující, že jsou vybrané nějáké 3 z těch 6ti. Tak to nefunguje, v proměnných mi zůstává hodnota false. Navzdory tomu že by měla při stisku tlačítek být změněná na true. Netušíte prosím někdo čím to je??

Zde je ukázka kódu:

import flash.events.MouseEvent;

var petrON:Boolean;
var pavelON:Boolean;
var martinON:Boolean;
var zdencaON:Boolean;
var danON:Boolean;
var paziON:Boolean;


pavel.addEventListener(MouseEvent.CLICK,paClick);

function paClick(event:MouseEvent):void{
	if (pavelON == false && petrON == false){
		pavelON = true;
		pavelDOWN.visible = true;
	}
	else if (pavelON == false && petrON == true){
		petrDOWN.visible = false;
		petrON = false;
		pavelON = true;
		pavelDOWN.visible = true;
	}
	else {
		pavelON = false;
		pavelDOWN.visible = false;
		}
}

petr.addEventListener(MouseEvent.CLICK,peClick);

function peClick(event:MouseEvent):void{
	if (pavelON == false && petrON == false){
		petrON = true;
		petrDOWN.visible = true;
	}
	else if (pavelON == true && petrON == false){
		pavelDOWN.visible = false;
		pavelON = false;
		petrON = true;
		petrDOWN.visible = true;
	}
	else {
		petrON = false;
		petrDOWN.visible = false;
		}
}
martin.addEventListener(MouseEvent.CLICK,maClick);

function maClick(event:MouseEvent):void{
	if (martinON == false && zdencaON == false){
		martinON = true;
		martinDOWN.visible = true;
	}
	else if (martinON == false && zdencaON == true){
		zdencaDOWN.visible = false;
		zdencaON = false;
		martinON = true;
		martinDOWN.visible = true;
	}
	else {
		martinON = false;
		martinDOWN.visible = false;
		}
}

zdenca.addEventListener(MouseEvent.CLICK,zdClick);

function zdClick(event:MouseEvent):void{
	if (martinON == false && zdencaON == false){
		zdencaON = true;
		zdencaDOWN.visible = true;
		trace(zdencaON);
	}
	else if (martinON == true && zdencaON == false){
		martinDOWN.visible = false;
		martinON = false;
		zdencaON = true;
		zdencaDOWN.visible = true;
	}
	else {
		zdencaON = false;
		zdencaDOWN.visible = false;
		}
}

dan.addEventListener(MouseEvent.CLICK,daClick);

function daClick(event:MouseEvent):void{
	if (danON == false && paziON == false){
		danON = true;
		danDOWN.visible = true;
		trace(danON);
	}
	else if (danON == false && paziON == true){
		paziDOWN.visible = false;
		paziON = false;
		danON = true;
		danDOWN.visible = true;
	}
	else {
		danON = false;
		danDOWN.visible = false;
		}
}

pazi.addEventListener(MouseEvent.CLICK,pzClick);

function pzClick(event:MouseEvent):void{
	if (danON == false && paziON == false){
		paziON = true;
		paziDOWN.visible = true;
	}
	else if (danON == true && paziON == false){
		danDOWN.visible = false;
		danON = false;
		paziON = true;
		paziDOWN.visible = true;
	}
	else {
		paziON = false;
		paziDOWN.visible = false;
		}
}


 if (pavelON == true || petrON == true && martinON || zdencaON == true && danON || paziON == true) {
			ok.visible = true;
			trace("FUNGUJE");
 }
}
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Na otázku zatím nikdo bohužel neodpověděl.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.