webForumDet fria alternativet

anpassa saker efter tid?(spel)

1 svar · 245 visningar · startad av etromic

etromicMedlem sedan juni 200420 inlägg
#1

Har ett litet problem.. jag behöver räkna fram ett värde som skall vara en faktor som jag kan multiplicera med olika hastigheter som jag har i spelet.
Alltså, om man inte vet vilken framerate som spelet kommer köras i (beroende på processor/grafikkort osv) så måste man ju få fram ett värde som kan kompensera åt rätt håll..

Jag har väl kommit så långt att jag förstått att alla mina värden måste baseras på en genrerell enhet, t.ex units/tidsenhet. Men sen? jag har en main-loop på pseudo-formen:

while(true){
  time = -getTime();
  checkKeys();
  bltScreen();
  flipScreens();
  time += getTime();
  adjustValues(time);
}

och då innehåller ju time den tid denna frame tog.. Min tanke är ju att nyttja de värdet(time) för att justera resten i adjustValues(). men vad ska de vara?!

speed = DEFAULT_SPEED * (time / unitsPerTimeValue)?

eller tvärtom kanske:

speed = DEFAULT_SPEED * (unitsPerTimeValue / time)?

är för trött för o tänka för tillfället :/

etromicMedlem sedan juni 200420 inlägg
#2

Löste det. De räckte med att få fram i procent av den hastighet jag ville ha och sen multiplicera de med den hastighet som skulle användas för att förflytta något. smidigt!

Genererad på 389 ms · cache AV · v20260730165559-full.f96bc7eb