colordance
This commit is contained in:
@ -77,7 +77,7 @@ func (*GameState) Do(f func()) {
|
||||
func mainLoop(ctx util.ClientCtx) {
|
||||
|
||||
baseLayer := mainwindow.AddLayer(0, "white")
|
||||
bgLayer := mainwindow.AddLayer(1, "white")
|
||||
//bgLayer := mainwindow.AddLayer(1, "white")
|
||||
menuLayer := mainwindow.AddLayer(2, "white")
|
||||
|
||||
initRender := func() {
|
||||
@ -106,14 +106,14 @@ Sed euismod nisi porta lorem mollis aliquam ut porttitor leo. Ut tellus elementu
|
||||
menuLayer.WithColor("white").PutWithBackground(40, 1, "Щ", "#cd31ed12")
|
||||
menuLayer.WithColor("yellow").PutWithBackground(41, 1, "Ц", "#efcccccc")
|
||||
|
||||
bgLayer.WithColor("#77cfcfcf").NewWindow(45, 5, 40, 40).Splash()
|
||||
menuLayer.WithColor("#aaed26ca").NewWindow(45, 5, 40, 40).DoubleBordered("Transparent BG window test")
|
||||
blt.PrintExt(46, 6, 40, 39, 1, `Lorem mollis aliquam ut porttitor leo a diam sollicitudin tempor. Convallis tellus id interdum velit. Enim nunc faucibus a pellentesque. Tincidunt augue interdum velit euismod in pellentesque massa placerat duis. Leo duis ut diam quam nulla porttitor massa id. Eu feugiat pretium nibh ipsum consequat nisl. Eget est lorem ipsum dolor sit amet. Et sollicitudin ac orci phasellus egestas. Donec adipiscing tristique risus nec. Et molestie ac feugiat sed. Ante in nibh mauris cursus mattis molestie a iaculis at. Neque laoreet suspendisse interdum consectetur. Vitae et leo duis ut diam quam nulla. Sed ullamcorper morbi tincidunt ornare massa eget egestas purus viverra. Ornare lectus sit amet est placerat in egestas erat.
|
||||
|
||||
Cursus in hac habitasse platea. Aliquet risus feugiat in ante metus dictum. Maecenas sed enim ut sem viverra aliquet eget sit. [color=orange]Vitae[/color] aliquet nec ullamcorper sit amet risus nullam. Scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis. Sed tempus urna et pharetra pharetra massa massa ultricies. Est ultricies integer quis auctor. Volutpat est velit egestas dui id ornare arcu. Eget nunc lobortis mattis aliquam faucibus purus. Erat nam at lectus urna duis.
|
||||
|
||||
Sed euismod nisi porta lorem mollis aliquam ut porttitor leo. Ut tellus elementum sagittis vitae et leo duis ut diam. Elementum curabitur vitae nunc sed velit dignissim. Auctor elit sed vulputate mi sit. Consectetur adipiscing elit ut aliquam purus. Feugiat vivamus at augue eget arcu. Duis ut diam quam nulla porttitor massa id neque. Pharetra magna ac placerat vestibulum lectus mauris ultrices. Non sodales neque sodales ut etiam. Massa ultricies mi quis hendrerit dolor. Est sit amet facilisis magna etiam. Ornare suspendisse sed nisi lacus sed viverra tellus in.
|
||||
`)
|
||||
//bgLayer.WithColor("#cc242424").NewWindow(45, 5, 40, 40).Splash()
|
||||
//menuLayer.WithColor("#ffdede89").NewWindow(45, 5, 40, 40).DoubleBordered("Transparent BG window test")
|
||||
//blt.PrintExt(46, 6, 40, 39, 1, `Lorem mollis aliquam ut porttitor leo a diam sollicitudin tempor. Convallis tellus id interdum velit. Enim nunc faucibus a pellentesque. Tincidunt augue interdum velit euismod in pellentesque massa placerat duis. Leo duis ut diam quam nulla porttitor massa id. Eu feugiat pretium nibh ipsum consequat nisl. Eget est lorem ipsum dolor sit amet. Et sollicitudin ac orci phasellus egestas. Donec adipiscing tristique risus nec. Et molestie ac feugiat sed. Ante in nibh mauris cursus mattis molestie a iaculis at. Neque laoreet suspendisse interdum consectetur. Vitae et leo duis ut diam quam nulla. Sed ullamcorper morbi tincidunt ornare massa eget egestas purus viverra. Ornare lectus sit amet est placerat in egestas erat.
|
||||
//
|
||||
//Cursus in hac habitasse platea. Aliquet risus feugiat in ante metus dictum. Maecenas sed enim ut sem viverra aliquet eget sit. [color=orange]Vitae[/color] aliquet nec ullamcorper sit amet risus nullam. Scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis. Sed tempus urna et pharetra pharetra massa massa ultricies. Est ultricies integer quis auctor. Volutpat est velit egestas dui id ornare arcu. Eget nunc lobortis mattis aliquam faucibus purus. Erat nam at lectus urna duis.
|
||||
//
|
||||
//Sed euismod nisi porta lorem mollis aliquam ut porttitor leo. Ut tellus elementum sagittis vitae et leo duis ut diam. Elementum curabitur vitae nunc sed velit dignissim. Auctor elit sed vulputate mi sit. Consectetur adipiscing elit ut aliquam purus. Feugiat vivamus at augue eget arcu. Duis ut diam quam nulla porttitor massa id neque. Pharetra magna ac placerat vestibulum lectus mauris ultrices. Non sodales neque sodales ut etiam. Massa ultricies mi quis hendrerit dolor. Est sit amet facilisis magna etiam. Ornare suspendisse sed nisi lacus sed viverra tellus in.
|
||||
//`)
|
||||
|
||||
baseLayer.Print(1, 1, "Hello, [font=bold]world[/font]!")
|
||||
baseLayer.Print(1, 4, "Testing line-[color=orange]spacing[/color]")
|
||||
@ -130,18 +130,14 @@ Sed euismod nisi porta lorem mollis aliquam ut porttitor leo. Ut tellus elementu
|
||||
vp.Render()
|
||||
})
|
||||
|
||||
d, _ := time.ParseDuration("166ms") // ~6 fps for terrain
|
||||
d2, _ := time.ParseDuration("1ms")
|
||||
terrainAnimationTicker := time.NewTicker(d)
|
||||
//fpsTicker := time.NewTicker(d2)
|
||||
d2, _ := time.ParseDuration("16ms")
|
||||
|
||||
fpsTicker := time.NewTicker(d2)
|
||||
fpsCount := 0
|
||||
//main loop!
|
||||
for {
|
||||
// не оставляйте default в бесконесчном select {} - сожрет всё CPU
|
||||
select {
|
||||
case <-terrainAnimationTicker.C:
|
||||
//ctx.Logger().Debug().Msg("hb!")
|
||||
State.Do(func() {
|
||||
vp.Render()
|
||||
})
|
||||
case key := <-State.input:
|
||||
switch key {
|
||||
case "F10":
|
||||
@ -158,14 +154,14 @@ Sed euismod nisi porta lorem mollis aliquam ut porttitor leo. Ut tellus elementu
|
||||
return
|
||||
default:
|
||||
State.Do(func(){
|
||||
baseLayer.ClearArea(0, 3, 80, 1)
|
||||
baseLayer.ClearArea(0, 3, 40, 1)
|
||||
baseLayer.Print(1, 3, "Key: "+key)
|
||||
baseLayer.Print(1, 4, "█")
|
||||
return
|
||||
})
|
||||
}
|
||||
|
||||
default:
|
||||
case <- fpsTicker.C:
|
||||
fpsCount++
|
||||
State.Do(func() {
|
||||
var key, keycode = ui.ReadKey(ctx)
|
||||
if keycode == blt.TK_NONE {
|
||||
@ -177,16 +173,24 @@ Sed euismod nisi porta lorem mollis aliquam ut porttitor leo. Ut tellus elementu
|
||||
ctx.Logger().Warn().Msg("...done")
|
||||
return
|
||||
}
|
||||
_ = key
|
||||
State.input <- key
|
||||
//time.Sleep(d2)
|
||||
})
|
||||
|
||||
//animate terrain 5 times slower than fps
|
||||
if (fpsCount % 10) == 0 {
|
||||
State.Do(func() {
|
||||
vp.Render()
|
||||
})
|
||||
fpsCount = 0
|
||||
}
|
||||
|
||||
//update screen
|
||||
State.Do(func() {
|
||||
blt.Refresh()
|
||||
time.Sleep(d2) //Костыль для убирания 100% CPU
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
ctx.Logger().Warn().Msg("and it continues")
|
||||
|
Reference in New Issue
Block a user