|
|
|
@ -11,8 +11,6 @@ var mnbtn2 button
|
|
|
|
|
func ShowMainMenu(renderer *sdl.Renderer) {
|
|
|
|
|
running = true
|
|
|
|
|
|
|
|
|
|
//RegisterClickHandler(func(btn uint8, state uint32, x int32, y int32) {fmt.Printf("Button:%d\tstate:%d\tx:%d\ty:%d\n", btn, state, x, y)})
|
|
|
|
|
RegisterClickHandler(detectStart)
|
|
|
|
|
RegisterKeypressHandler(func(scancode sdl.Scancode){if scancode == sdl.SCANCODE_ESCAPE {running = false; gameState=0}})
|
|
|
|
|
defer ResetHandlers()
|
|
|
|
|
|
|
|
|
@ -23,34 +21,21 @@ func ShowMainMenu(renderer *sdl.Renderer) {
|
|
|
|
|
_, _, width, height, _ := image.Query()
|
|
|
|
|
rect := &sdl.Rect{0, 0, width, height}
|
|
|
|
|
|
|
|
|
|
renderer.Copy(image, nil, rect)
|
|
|
|
|
mnbtn1 = createDefaultButton(renderer)
|
|
|
|
|
mnbtn2 = createDefaultButton(renderer)
|
|
|
|
|
mnbtn1.posx = 704
|
|
|
|
|
mnbtn1.posy = 700
|
|
|
|
|
mnbtn2.posx = 1191
|
|
|
|
|
mnbtn2.posy = 700
|
|
|
|
|
mnbtn1.Blit(renderer)
|
|
|
|
|
mnbtn2.Blit(renderer)
|
|
|
|
|
renderer.Present()
|
|
|
|
|
kfStart := createKeyField("start", func(){gameState = 2; running = false}, showHint)
|
|
|
|
|
kfReset := createKeyField("reset", func(){levelState = 0}, func(){})
|
|
|
|
|
|
|
|
|
|
for running {
|
|
|
|
|
renderer.Copy(image, nil, rect)
|
|
|
|
|
kfStart.Blit(renderer)
|
|
|
|
|
kfReset.Blit(renderer)
|
|
|
|
|
renderer.Present()
|
|
|
|
|
renderer.Clear()
|
|
|
|
|
UpdateEvents()
|
|
|
|
|
sdl.Delay(15)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func detectStart(btn uint8, state uint32, x, y int32) {
|
|
|
|
|
if btn == sdl.BUTTON_LEFT && state == sdl.MOUSEBUTTONDOWN {
|
|
|
|
|
if mnbtn1.isCLicked(x, y) {
|
|
|
|
|
running = false
|
|
|
|
|
gameState = 2
|
|
|
|
|
}
|
|
|
|
|
if mnbtn2.isCLicked(x, y) {
|
|
|
|
|
running = false
|
|
|
|
|
levelState = 1
|
|
|
|
|
gameState = 2
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
func showHint() {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|