alle IF werden auferufen!

Posted By: Inari

alle IF werden auferufen! - 05/25/08 15:57

Mein Problem ist, wenn die Taste [7] gedrückt wird soll sollen folgene IF ausgeführt werden. Aber nur die dessen Bedingung stimmt!
Wenn aber die unterste der drei If ausgeführt wurde wird die var ´´besetzt´´ auf 1 gesetzt und macht so automatisch die mittlere war
Die Funktion wird wie es aussieht mehrere amle aufgerufen. Dabei soll das die Zeile ´´if(warte_ab == 1){return;}´´ das verhindern!

Code:
var besetzt;

var warte_ab;
function taster_anders //D
{
	
	if(warte_ab == 1){return;}
	warte_ab=1;
	while(1)
	{
		if(key_7)//D
		{
			timerstart();
			if((besetzt == 2) && (...)) {...  besetzt=3;}	
			
			if((besetzt == 1) && (...)) {...  besetzt=2;}

			if((besetzt == 0) && (...)) {...  besetzt=1;}	
		}

		wait(1);
	}
	warte_ab=0;
	

}


Inari
Posted By: Christian__A

Re: alle IF werden auferufen! - 05/25/08 17:14

Wenn du nicht möchtest, dass die eigentlichen Funktionen (die 3 IFs) solange ausgeführt werden, wie die 7-Taste gedrückt ist, wieso hast du dann die While-Schleife eingebaut?
Posted By: flits

Re: alle IF werden auferufen! - 05/25/08 17:14

i dont understand it well but maby this helps

proc_status(EVENT name)

if(proc_status(taster_anders) <1)
Posted By: Artus

Re: alle IF werden auferufen! - 05/25/08 17:26

wenn du key_7 einsetzt wird beim drücken der Taste 7 die if so lange ausgeführt wie die Taste gedrückt wird, die sind dann immer mehrere Frames auf einmal.
Bei on_7 währe dies nur ein einziger Aufruf.
Bei key_7 musst du in einer Variablen zwischenspeichern, dass die Taste noch gedrückt ist und beim loslassen der Taste die Variable wider zurücksetzen.
Posted By: Inari

Re: alle IF werden auferufen! - 05/25/08 17:49

grin Danke für eure Hilfe, das Problem ist gelöst.
Inari
© 2024 lite-C Forums