示例#1
0
文件: main.go 项目: fmd/gogol-example
func main() {
	gogol.Init(gogol.WindowOpts{Title: "Gogol Example", Width: 640, Height: 480})
	defer gogol.Cleanup()

	gogol.OnKeyDown(gogol.K_Q, hideLayer("inner"))
	gogol.OnKeyUp(gogol.K_Q, showLayer("inner"))

	gogol.OnKeyDown(gogol.K_W, hideLayer("outer"))
	gogol.OnKeyUp(gogol.K_W, showLayer("outer"))

	gogol.OnMouseDown(gogol.M_LEFT, doMouseStuff)

	q1 := gogol.NewQuad(gogol.QuadOpts{Width: 25.0, Height: 25.0})
	q2 := gogol.NewQuad(gogol.QuadOpts{Width: 25.0, Height: 25.0})
	q3 := gogol.NewQuad(gogol.QuadOpts{Width: 25.0, Height: 25.0})

	q1.AddChild(q2)
	q2.AddChild(q3)

	q2.Translate(100.0, 0.0)
	q3.Translate(50.0, 0.0)

	gogol.GetLayer("base").AppendLayer("inner")
	gogol.GetLayer("inner").AppendLayer("outer")

	q2.AddToLayer("inner")
	q3.AddToLayer("outer")

	for !gogol.ShouldQuit() {
		gogol.ProcessOneFrame()
		q1.Rotate(0.1)
		q2.Rotate(0.1)
		q3.Rotate(0.1)
	}
}
示例#2
0
文件: main.go 项目: fmd/gogol-example
func showLayer(name string) func(code gogol.KeyCode) {
	return func(code gogol.KeyCode) {
		gogol.GetLayer(name).Show()
	}
}
示例#3
0
文件: main.go 项目: fmd/gogol-example
func hideLayer(name string) func(code gogol.KeyCode) {
	return func(code gogol.KeyCode) {
		gogol.GetLayer(name).Hide()
	}
}