From d70dbd438cfd954fa3d5b4e04166e0230475bea3 Mon Sep 17 00:00:00 2001 From: Luke Meyers Date: Sat, 8 Feb 2020 01:26:46 -0800 Subject: [PATCH] update sprites --- gfx/gfx.go | 30 ++++++++++++++++++------------ main.go | 2 +- rock.png | Bin 0 -> 533 bytes shuttle.png | Bin 0 -> 291 bytes 4 files changed, 19 insertions(+), 13 deletions(-) create mode 100644 rock.png create mode 100644 shuttle.png diff --git a/gfx/gfx.go b/gfx/gfx.go index a315e34..2254348 100644 --- a/gfx/gfx.go +++ b/gfx/gfx.go @@ -29,16 +29,24 @@ type context struct { } type spriteBank struct { - bot pixel.Picture + bot pixel.Picture + obstacle pixel.Picture } func NewSpriteBank() (*spriteBank, error) { - pic, err := loadPicture("simplebot-white.png") + bot, err := loadPicture("shuttle.png") if err != nil { return nil, fmt.Errorf("load picture: %w", err) } + + ob, err := loadPicture("rock.png") + if err != nil { + return nil, fmt.Errorf("load picture: %w", err) + } + return &spriteBank{ - bot: pic, + bot: bot, + obstacle: ob, }, nil } @@ -66,7 +74,7 @@ func Render(rs RenderState, sOld, sNew game.State, w *pixelgl.Window, sb spriteB w: w, } renderBots(ctx, colors, sb.bot) - renderObstacles(sNew, w) + renderObstacles(sNew, w, sb.obstacle) rs.Frame++ if rs.Frame > rs.Frames { @@ -134,14 +142,10 @@ func renderBot(ctx context, oldBot, bot game.Bot, c pixel.RGBA, pic pixel.Pictur im.Push(pos) im.Clear() - //im.Circle(botWidth, 0) im.Draw(ctx.w) bounds := pic.Bounds() - //log.Println("bounds:", bounds) - //bounds = bounds.Resized(bounds.Center(), pixel.Vec{bounds.W() * 2, bounds.H() * 4}) - //log.Println("resize:", bounds) sprite := pixel.NewSprite(pic, bounds) - sprite.DrawColorMask(ctx.w, pixel.IM.Moved(pos).ScaledXY(pos, pixel.Vec{3, 3}), c) + sprite.DrawColorMask(ctx.w, pixel.IM.Moved(pos).ScaledXY(pos, pixel.Vec{2, 2}), c) } func renderBaton(pos pixel.Vec, w *pixelgl.Window) { @@ -161,19 +165,21 @@ func lanePos(pos, lane int, width float64, bounds pixel.Rect) pixel.Vec { bounds.Min.Y+float64(lane+1)*vOffset) } -func renderObstacles(s game.State, w *pixelgl.Window) { +func renderObstacles(s game.State, w *pixelgl.Window, pic pixel.Picture) { b := w.Bounds() im := imdraw.New(nil) for _, o := range s.Obstacles { - im.Color = colornames.Slategray + //im.Color = colornames.Slategray pos := lanePos(o.Position.Pos, o.Position.Lane, botWidth, b) im.Push(pos) im.Clear() - im.Circle(float64(botWidth), 0) + sprite := pixel.NewSprite(pic, pic.Bounds()) + sprite.Draw(w, pixel.IM.Moved(pos)) + //im.Circle(float64(botWidth), 0) im.Draw(w) } diff --git a/main.go b/main.go index 0055ca0..db1df94 100644 --- a/main.go +++ b/main.go @@ -14,7 +14,7 @@ import ( func run() error { cfg := pixelgl.WindowConfig{ Title: "Relay", - Bounds: pixel.R(0, 0, 2048, 1024), + Bounds: pixel.R(0, 0, 2400, 1024), VSync: true, } diff --git a/rock.png b/rock.png new file mode 100644 index 0000000000000000000000000000000000000000..5d38a9965546963dcf3f236991b3d3a256aa5b3a GIT binary patch literal 533 zcmV+w0_y#VP)Px$&q+ix~lFZ zpXHS3AK*A&myqs~|GZvAM6{N2Dc>Cdm7H-!#1thX-D*Yt*>@r$I@iA1j)+=Cww6M+ za*J;|G3r3mW<<^%u)n2%L0RR2)@+;SoSXLu_WQFVGPh4Af@`&ikgJyKqcyZO51SOV z7*#8~5sCA_9!P5`FsZY@ihy4dvXchN6VQacWFtYJeXlVn_PH!d1Qf8AQc35W>A5WG zbC1+^gV)zmm|Tfa9$*pi#=Un4ZE{ViSP#~)0y=^MCXEGKr=iF=upNa{Q zBUABbkK7XUs+Ye@M0B85dKe9%$o7c1G>wR*!A7xMH6oWMNe(3UE?{Cb8$3k3VW;85 zi>Os{jg8bh;~eLW?f14Rau$&2oPB)0-ZMXKsfx0=gH&VjU+(p;UW8w}6sEI4B7 zt_NhYD7h37ffZ0&g!UhidroJJ%sYH0M0dOgd1pj{1SD&$$PwgNDgTe+EjF4yhn XdKy1DaIr`>00000NkvXXu0mjfe52}m literal 0 HcmV?d00001 diff --git a/shuttle.png b/shuttle.png new file mode 100644 index 0000000000000000000000000000000000000000..5ee1ee31b68db91f5deecfb245c71f049a3d953a GIT binary patch literal 291 zcmV+;0o?wHP)Px#-AP12R9J=WmeCG^FbqX+4IeF$Xe1i_>-xYj%WTWo?0DHpcv)EQAu9!-(~;qD zxpPttn45^G0;@zM(q14I@sgl4%dvKz05juxdsii2?q?8vOPeC1K(x7taAZrshKMNO zfhIyo&i!8kL?qTqMFs$PTwmfwsYvdcw!UUf^T+^ba}K2akh>O3NCXkingg|1P2EJm zqKSaj*rq^j6I$WZJT6;t@N0PZAR0DqE@ICp76szLR7&y3s5)7%z3Zl*UIRDJ*e002ovPDHLkV1mL~b;1Au literal 0 HcmV?d00001