Hej!
Försöker pilla lite med spelskapande.
När man håller ned en tangent för att t ex styra ett objekt på skärmen så slöas animationen ned. Hur skulle man kunna förhindra detta?
7 svar · 280 visningar · startad av jme
Hej!
Försöker pilla lite med spelskapande.
När man håller ned en tangent för att t ex styra ett objekt på skärmen så slöas animationen ned. Hur skulle man kunna förhindra detta?
Om du släpper tangenten, slutar animationen då? Om, så skulle man kunna göra så att om man trycker ner en tangent säg "pil ned" så ska abinationen fortsätta tills man trycker på en annan tangent.. kanske sabbar spelupplevelsen dock. Vet att i C# med GDI+ finns det ett par funktioner för att göra animationerna mer flytande, kanske finns ngt likandne i Java!?
Vad jag menar med animation i detta fall är att en ruta rör sig antingen åt höger eller vänster, beroende på om jag trycker på höger- eller vänsterpilen.
Då jag trycker på nån av pilarna så rör sig rutan men då rör den sig hackigt.
Ok, kolla på Dubble Buffering om du inte redan använder den, den ska man kunna använda för att "rita" ett objekt utanför spelet och när det är färdigritat så ploppar det ut direkt på skärmen istället för att ritas ut efter hand på skärmen. I c# så blir det mkt bättre flyt i animationer på detta sätt.
Jo, me doublebuffering förhindrar man att det flimmrar och jag kör med doublebuffering...*men* :) det h a c k ar. Det är det som är problemet och det inträffar ändast då jag håller ned tangenten.
Har du "rita på skärmen" och "läs tangentbort" i två olika trådar eller i samma tråd? Om du har de i samma tråd så försök att dela upp dem så att de ligger i olika tråda och inte låser varandra.
/Viktor
Viktor! Smart! Att jag inte tänbkt på det. :q
Tror inte jag har dem uppdelat i två olika trådar...skall testa det...återkommer sen....
Jepp... Tänk dock på risken att totalt få i trådarna om du börjar med trådar... ;-)