/zoeplat

To get this branch, use:
bzr branch http://9ix.org/bzr/zoeplat

« back to all changes in this revision

Viewing changes to zoetrope/core/sprite.lua

  • Committer: Josh C
  • Date: 2013-03-09 04:58:45 UTC
  • Revision ID: josh@9ix.org-20130309045845-wdcov53ghv2h6iwf
apply acceleration to velocity, THEN apply velocity to position (then do 
collision).  important for detecting correct velocity

Show diffs side-by-side

added added

removed removed

Lines of Context:
373
373
 
374
374
                -- physics
375
375
                        
376
 
                if vel.x ~= 0 then self.x = self.x + vel.x * elapsed end
377
 
                if vel.y ~= 0 then self.y = self.y + vel.y * elapsed end
378
 
                if vel.rotation ~= 0 then self.rotation = self.rotation + vel.rotation * elapsed end
379
 
                
380
376
                if acc.x and acc.x ~= 0 then
381
377
                        vel.x = vel.x + acc.x * elapsed
382
378
                else
425
421
                if maxVel.y and vel.y > maxVel.y then vel.y = maxVel.y end
426
422
                if minVel.rotation and vel.rotation < minVel.rotation then vel.rotation = minVel.rotation end
427
423
                if maxVel.rotation and vel.rotation > maxVel.rotation then vel.rotation = maxVel.rotation end
428
 
                
 
424
 
 
425
                if vel.x ~= 0 then self.x = self.x + vel.x * elapsed end
 
426
                if vel.y ~= 0 then self.y = self.y + vel.y * elapsed end
 
427
                if vel.rotation ~= 0 then self.rotation = self.rotation + vel.rotation * elapsed end
 
428
 
429
429
                if self.onUpdate then self:onUpdate(elapsed) end
430
430
        end,
431
431