Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
Deleted post

Hi there! I've send you and email but just so this doesn't hung unanswered:

It's basically matter of keeping rotation value for drawing and target rotation separate values.

so something like this (pseudocode):

update:
    rDraw = rDraw + (rTarget - r) / 2
triggerRotate:
    rTarget = rTarget + 1 // 1 instead of PI/2 directly so getDirection is simpler
draw:
    draw(image, x, y, rDraw * PI/2)
getDirectionOfTheBulletAfterItIsReflected:
  let t = fmod(floor(rTarget), 4)
  if (t==0 and fromX==1) or (t==0 and fromY==-1) or (t==2 and fromY==1) or (t==2 and fromX==-1) then
    return -fromY, -fromX
  else if (t==1 and fromY==1) or (t==1 and fromX==1) or (t==3 and fromY==-1) or (t==3 and fromX==-1) then
    return fromY, fromX
  else
    return 0, 0