mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-24 02:38:53 +01:00
examples/rotate: Refactoring
This commit is contained in:
parent
52a753a12f
commit
6ba0e6d373
@ -31,7 +31,7 @@ const (
|
||||
)
|
||||
|
||||
var (
|
||||
count int
|
||||
count = 0
|
||||
gophersImage *ebiten.Image
|
||||
)
|
||||
|
||||
@ -42,8 +42,17 @@ func update(screen *ebiten.Image) error {
|
||||
}
|
||||
w, h := gophersImage.Size()
|
||||
op := &ebiten.DrawImageOptions{}
|
||||
|
||||
// Move the image's center to the screen's upper-left corner.
|
||||
// This is a prepartion for rotating. When geometry matrices are applied,
|
||||
// the origin point is the upper-left corner.
|
||||
op.GeoM.Translate(-float64(w)/2, -float64(h)/2)
|
||||
|
||||
// Rotate the image. As a result, the anchor point of this rotate is
|
||||
// the center of the image.
|
||||
op.GeoM.Rotate(float64(count%360) * 2 * math.Pi / 360)
|
||||
|
||||
// Move the image to the screen's center.
|
||||
op.GeoM.Translate(screenWidth/2, screenHeight/2)
|
||||
screen.DrawImage(gophersImage, op)
|
||||
return nil
|
||||
|
Loading…
Reference in New Issue
Block a user