mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-11-10 04:57:26 +01:00
Add Game.Fps
This commit is contained in:
parent
92ac4b97ea
commit
97550279ee
@ -14,6 +14,7 @@ type TapInfo struct {
|
||||
type Game interface {
|
||||
ScreenWidth() int
|
||||
ScreenHeight() int
|
||||
Fps() int
|
||||
Init(tf graphics.TextureFactory)
|
||||
Update()
|
||||
Draw(g graphics.GraphicsContext, offscreen graphics.Texture)
|
||||
@ -34,7 +35,7 @@ func OpenGLRun(game Game, ui UI, screenScale int) {
|
||||
})
|
||||
|
||||
go func() {
|
||||
const frameTime = time.Second / 60
|
||||
frameTime := time.Duration(int64(time.Second) / int64(game.Fps()))
|
||||
tick := time.Tick(frameTime)
|
||||
for {
|
||||
<-tick
|
||||
|
@ -24,6 +24,10 @@ func (game *Rects) ScreenHeight() int {
|
||||
return 240
|
||||
}
|
||||
|
||||
func (game *Rects) Fps() int {
|
||||
return 60
|
||||
}
|
||||
|
||||
func (game *Rects) Init(tf graphics.TextureFactory) {
|
||||
game.rectsTexture = tf.NewTexture(game.ScreenWidth(), game.ScreenHeight())
|
||||
}
|
||||
|
@ -27,6 +27,10 @@ func (game *Rotating) ScreenHeight() int {
|
||||
return 240
|
||||
}
|
||||
|
||||
func (game *Rotating) Fps() int {
|
||||
return 60
|
||||
}
|
||||
|
||||
func (game *Rotating) Init(tf graphics.TextureFactory) {
|
||||
file, err := os.Open("ebiten.png")
|
||||
if err != nil {
|
||||
@ -53,7 +57,7 @@ func (game *Rotating) Draw(g graphics.GraphicsContext, offscreen graphics.Textur
|
||||
geometryMatrix := matrix.IdentityGeometry()
|
||||
tx, ty := float64(game.ebitenTexture.Width), float64(game.ebitenTexture.Height)
|
||||
geometryMatrix.Translate(-tx/2, -ty/2)
|
||||
geometryMatrix.Rotate(float64(game.x) * 2 * math.Pi / (60 * 10))
|
||||
geometryMatrix.Rotate(float64(game.x) * 2 * math.Pi / float64(game.Fps() * 10))
|
||||
geometryMatrix.Translate(tx/2, ty/2)
|
||||
centerX := float64(game.ScreenWidth()) / 2
|
||||
centerY := float64(game.ScreenHeight()) / 2
|
||||
|
@ -75,6 +75,10 @@ func (game *Sprites) ScreenHeight() int {
|
||||
return 240
|
||||
}
|
||||
|
||||
func (game *Sprites) Fps() int {
|
||||
return 60
|
||||
}
|
||||
|
||||
func (game *Sprites) Init(tf graphics.TextureFactory) {
|
||||
file, err := os.Open("ebiten.png")
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user