fixed non-working player
This commit is contained in:
@@ -17,7 +17,7 @@ type Player struct {
|
||||
}
|
||||
|
||||
func NewPlayer(win *pixelgl.Window, spriteSheet pixel.Picture) (*Player){
|
||||
var p *Player
|
||||
var p Player
|
||||
p.X = win.Bounds().Max.X/2
|
||||
p.Y = win.Bounds().Max.Y/2
|
||||
p.PlayerVec = pixel.Vec{
|
||||
@@ -29,45 +29,38 @@ func NewPlayer(win *pixelgl.Window, spriteSheet pixel.Picture) (*Player){
|
||||
p.sprFrames = createSpriteFrames(spriteSheet)
|
||||
p.sprite = pixel.NewSprite(spriteSheet, p.sprFrames[p.sprFrame])
|
||||
p.speed = 10.0
|
||||
return p
|
||||
return &p
|
||||
}
|
||||
|
||||
func (p *Player) Update(win *pixelgl.Window, dt int64) {
|
||||
|
||||
var vecX, vecY float64 = 0, 0
|
||||
speed := p.speed
|
||||
|
||||
|
||||
|
||||
if win.Pressed(pixelgl.KeyA) { //left
|
||||
p.sprFrame = 6
|
||||
p.X -= speed
|
||||
vecX -= speed
|
||||
}
|
||||
if win.Pressed(pixelgl.KeyD) { //Right
|
||||
p.sprFrame = 3
|
||||
p.X += speed
|
||||
vecX += speed
|
||||
}
|
||||
if win.Pressed(pixelgl.KeyS) { //Down
|
||||
p.sprFrame = 9
|
||||
p.Y -= speed
|
||||
vecY -= speed
|
||||
}
|
||||
if win.Pressed(pixelgl.KeyW) { //up
|
||||
p.sprFrame = 0
|
||||
p.Y += speed
|
||||
vecY += speed
|
||||
}
|
||||
p.sprite.Set(p.spriteSheet, p.sprFrames[p.sprFrame])
|
||||
|
||||
//p.PlayerVec.X += vecX
|
||||
//p.PlayerVec.Y += vecY
|
||||
|
||||
p.PlayerVec = pixel.Vec {
|
||||
X: p.X,
|
||||
Y: p.Y,
|
||||
}
|
||||
//fmt.Println(p.PlayerVec.X,p.PlayerVec.Y)
|
||||
p.PlayerVec.X += vecX
|
||||
p.PlayerVec.Y += vecY
|
||||
}
|
||||
|
||||
func (p *Player) Render(win *pixelgl.Window) { //include batch later
|
||||
|
||||
p.sprite.Draw(win, pixel.IM.Scaled(pixel.ZV, 4).Moved(p.PlayerVec))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user