Eli, pelissä jota teen, on kohta jossa painetaan nappia jolloin siirrytään eri paikkaan, mutta koska kun painetaan nappia josta siirrytään, niin sinne alle tulee samantien uusi nappi, joka painautuu pohjaan sekin, jolloin tulee epätoivottavia vaikutuksia. Olen tähän mennessä siirtänyt hiiren aina nurkkaan jolloin mitään nappia ei vahingossa siirtymätilanteessa paineta, mutta se on inhottava kun hiiren osoitin pomppii ympäriinsä. Olisiko tähän jokin kunnon ratkaisu?
Tässä vielä toimintaa:
-nappia painettu:
-piirretään uusi alue
-siirrytään funktioon (uusialue)
funktio uusialue
looppi
-luetaan näppäinten (myös hiiren) painallukset
-jos hiiren osoitin on paikassa x,y, tapahtuu z
/looppi
Jos nappi on alhaalla ja nappi ei viime framessa ollut alhaalla :)
Pasteanpa tähän nyt oman hiiristructini, että tulee viestille lisää pituutta...
struct THiiri { short int X, Y; // Hiiren sijainti (vaikka keskellä ruutuahan tuo minulla pysyy) signed char Rulla, Left, Mid, Right; // Rulla ja napit nyt signed char PRulla, PLeft, PMid, PRight; // ja edellisessä framessa. float LiikeX, LiikeY; // Minkä verran se on liikkunut (joku sitten saa nollata ne aina...) TKoord Osoitin; // Missä se osoitin sitten fyysisesti majailee 3D-avaruudessa... };
Tuossa siis pidetään aina nappien tilaa sillä hetkellä ja viimeksi. Kaikissa napinpainallusvertailuissa tarkistan muutoksen:
if (Hiiri.Left && !Hiiri.PLeft)
Aah, niinpä tietenkin. Tämä on vähän kiusallista, ensin miettii pään puhki ja sitten huomaa että tämähän on ihan helppo juttu. ^^
Aihe on jo aika vanha, joten et voi enää vastata siihen.