Go で書き直した Ikemen
リビジョン | 53f9115b467eef9935fc90e1178e44c5c835bf20 (tree) |
---|---|
日時 | 2019-01-26 16:53:39 |
作者 | suehiro <supersuehiro@user...> |
コミッター | suehiro |
projectileの表示位置とスロー中のポーズを修正
@@ -1189,7 +1189,6 @@ func (p *Projectile) update(playerNo int) { | ||
1189 | 1189 | return |
1190 | 1190 | } |
1191 | 1191 | if sys.tickFrame() { |
1192 | - p.oldPos = p.pos | |
1193 | 1192 | p.newPos = [...]float32{p.pos[0] + p.velocity[0]*p.facing, |
1194 | 1193 | p.pos[1] + p.velocity[1]} |
1195 | 1194 | } |
@@ -1198,6 +1197,7 @@ func (p *Projectile) update(playerNo int) { | ||
1198 | 1197 | p.pos[i] = np - (np-p.oldPos[i])*(1-ti) |
1199 | 1198 | } |
1200 | 1199 | if sys.tickNextFrame() { |
1200 | + p.oldPos = p.pos | |
1201 | 1201 | for i := range p.velocity { |
1202 | 1202 | p.velocity[i] += p.accel[i] |
1203 | 1203 | p.velocity[i] *= p.velmul[i] |
@@ -641,13 +641,15 @@ func (s *System) nextRound() { | ||
641 | 641 | } |
642 | 642 | } |
643 | 643 | } |
644 | -func (s *System) debugPaused() bool { return s.paused && !s.step } | |
644 | +func (s *System) debugPaused() bool { | |
645 | + return s.paused && !s.step && s.oldTickCount < s.tickCount | |
646 | +} | |
645 | 647 | func (s *System) tickFrame() bool { |
646 | - return !s.debugPaused() && s.oldTickCount < s.tickCount | |
648 | + return (!s.paused || s.step) && s.oldTickCount < s.tickCount | |
647 | 649 | } |
648 | 650 | func (s *System) tickNextFrame() bool { |
649 | 651 | return int(s.tickCountF+s.nextAddTime) > s.tickCount && |
650 | - !s.debugPaused() || s.oldTickCount >= s.tickCount | |
652 | + !s.paused || s.step || s.oldTickCount >= s.tickCount | |
651 | 653 | } |
652 | 654 | func (s *System) tickInterpola() float32 { |
653 | 655 | if s.tickNextFrame() { |
@@ -656,7 +658,7 @@ func (s *System) tickInterpola() float32 { | ||
656 | 658 | return s.tickCountF - s.lastTick + s.nextAddTime |
657 | 659 | } |
658 | 660 | func (s *System) addFrameTime(t float32) bool { |
659 | - if s.debugPaused() && s.oldTickCount < s.tickCount { | |
661 | + if s.debugPaused() { | |
660 | 662 | s.oldNextAddTime = 0 |
661 | 663 | return true |
662 | 664 | } |