particles
This commit is contained in:
parent
d50bed0777
commit
13db112d35
1 changed files with 44 additions and 0 deletions
44
particle.go
Normal file
44
particle.go
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"math"
|
||||
"math/rand"
|
||||
|
||||
rl "github.com/gen2brain/raylib-go/raylib"
|
||||
)
|
||||
|
||||
type particle struct {
|
||||
pos, speed rl.Vector2
|
||||
}
|
||||
|
||||
type particleSpawner struct {
|
||||
particles []particle
|
||||
}
|
||||
|
||||
func (p *particle) update(g *game) {
|
||||
p.pos = rl.Vector2Add(p.pos, rl.Vector2Scale(p.speed, rl.GetFrameTime()*g.gameSpeed))
|
||||
p.pos.Y = float32(math.Mod(float64(p.pos.Y), float64(g.arenaHeight)))
|
||||
rl.DrawPixelV(p.pos, rl.White)
|
||||
}
|
||||
|
||||
func (s *particleSpawner) update(g *game) {
|
||||
for i := range s.particles {
|
||||
(&s.particles[i]).update(g)
|
||||
}
|
||||
}
|
||||
|
||||
func starsBackground(g *game) *particleSpawner {
|
||||
s := new(particleSpawner)
|
||||
n := 2000
|
||||
s.particles = make([]particle, n)
|
||||
for i := range n {
|
||||
rWidth := float32(rand.Int31n(g.arenaWidth))
|
||||
rHeight := float32(rand.Int31n(g.arenaHeight))
|
||||
s.particles[i] = particle{
|
||||
pos: rl.Vector2{X: rWidth, Y: rHeight},
|
||||
speed: rl.Vector2{X: 0, Y: rand.Float32()*123 + 87},
|
||||
}
|
||||
|
||||
}
|
||||
return s
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue