34 lines
527 B
Go
34 lines
527 B
Go
|
|
package elements
|
||
|
|
|
||
|
|
import "github.com/hajimehoshi/ebiten/v2"
|
||
|
|
|
||
|
|
type Spotlight struct {
|
||
|
|
Sprite *ebiten.Image
|
||
|
|
asset *ebiten.Image
|
||
|
|
cycle int
|
||
|
|
}
|
||
|
|
|
||
|
|
func NewSpotlight(asset *ebiten.Image) *Spotlight {
|
||
|
|
sl := &Spotlight{
|
||
|
|
Sprite: ebiten.NewImage(100, 100),
|
||
|
|
asset: asset,
|
||
|
|
}
|
||
|
|
|
||
|
|
return sl
|
||
|
|
}
|
||
|
|
|
||
|
|
func (s *Spotlight) Update() {
|
||
|
|
s.cycle++
|
||
|
|
}
|
||
|
|
|
||
|
|
func (s *Spotlight) Draw() {
|
||
|
|
s.Sprite.Clear()
|
||
|
|
|
||
|
|
op := &ebiten.DrawImageOptions{}
|
||
|
|
op.GeoM.Translate(-16, -16)
|
||
|
|
op.GeoM.Scale(3, 3)
|
||
|
|
op.GeoM.Translate(50, 50)
|
||
|
|
s.Sprite.DrawImage(s.asset, op)
|
||
|
|
|
||
|
|
}
|