diff --git a/demo/text/assets/dejavu.json b/demo/text/assets/dejavu.json new file mode 100644 index 0000000..6201777 --- /dev/null +++ b/demo/text/assets/dejavu.json @@ -0,0 +1,28 @@ +[ + { + "char": "A", + "x": 0, + "y": 0 + }, + { + "char": "b", + "x": 1, + "y": 0 + }, + { + "char": "e", + "x": 2, + "y": 0 + }, + { + "char": "r", + "x": 0, + "y": 1 + }, + { + "char": "'", + "x": 3, + "y": 0, + "offset": 0.5 + } +] diff --git a/demo/text/assets/dejavu.png b/demo/text/assets/dejavu.png new file mode 100644 index 0000000..1b0ba32 Binary files /dev/null and b/demo/text/assets/dejavu.png differ diff --git a/demo/text/text.go b/demo/text/text.go new file mode 100644 index 0000000..6924f5e --- /dev/null +++ b/demo/text/text.go @@ -0,0 +1,55 @@ +package main + +import ( + "github.com/DeKugelschieber/go-game" +) + +const ( + gopher_path = "src/github.com/DeKugelschieber/go-game/demo/sprite/assets/gopher.png" +) + +type Game struct{} + +func (g *Game) Setup() { + // load texture + _, err := goga.LoadRes(gopher_path) + + if err != nil { + panic(err) + } + + // create sprite + tex, err := goga.GetTex("gopher.png") + + if err != nil { + panic(err) + } + + sprite := goga.NewSprite(tex) + renderer, ok := goga.GetSystemByName("spriteRenderer").(*goga.SpriteRenderer) + + if !ok { + panic("Could not find renderer") + } + + renderer.Add(sprite.Actor, sprite.Pos2D, sprite.Tex) + + culling, ok := goga.GetSystemByName("culling2d").(*goga.Culling2D) + + if !ok { + panic("Could not find culling") + } + + culling.Add(sprite.Actor, sprite.Pos2D) +} + +func (g *Game) Update(delta float64) {} + +func main() { + game := Game{} + options := goga.RunOptions{ClearColor: goga.Vec4{1, 1, 1, 0}, + Resizable: true, + SetViewportOnResize: true, + ExitOnClose: true} + goga.Run(&game, &options) +}