我试图在on-render
屏幕功能上使用简单标签render!
,但它不起作用。我得到的只是一个空白的屏幕。除非屏幕功能评估它,否则渲染标签不起作用
这花了我一些时间,但我终于发现,这种情况发生时,我回来的东西,但标签。例如,这个工程:
(defscreen main-screen
:on-show
(fn [screen entities]
(update! screen :renderer (stage))
[])
:on-render
(fn [screen _]
(clear!)
(render! screen [(label "Hello, world!" (color :white))])))
这不会(也就是改变了这一切是on-render
最后一行):
(defscreen main-screen
:on-show
(fn [screen entities]
(update! screen :renderer (stage))
[])
:on-render
(fn [screen _]
(clear!)
(render! screen [(label "Hello, world!" (color :white))])
["I just wanna pass my own data here, ugh.."]))
为了测试,我更换了label
与texture
和它确实工作。
这是什么造成的?它似乎很随意(我在第一个例子中评估的标签无论如何都被完全忽略了!那么为什么我必须通过它呢?我不知道发生了什么)。
P.S.在这种情况下,在每一帧上创建标签都是故意的,我知道我可以从我在on-show
中制作的标签中进行设置,但我试图让它更具动感。我还试图在render!
之后放置一个Thread/sleep
以确保在清除&之间有一个可见的时间窗口。
我是一个完整的初学者我想知道为什么上述不起作用除了我如何解决它?
我试图拥有的实体是具有一个元素的向量,它是我游戏状态的地图。我想用来自状态的文本和'render!'来制作一个标签。这是我为我的'clear!'颜色和我的贴图绘制完成的,除了那个标签外,所有东西都被渲染了。 – MasterMastic