这是我的密码
Pixmap pm = new Pixmap(8,8,Format.RGBA8888);
Pixmap.setBlending(Pixmap.Blending.None); //ensure when we draw transparent we REPLACE the pixels with a transparent color.
pm.setColor(Color.CLEAR);
//pm.setColor(0f,0f,0f,0f); //also didnt work.
//pm.fillRectangle(0, 0, 8, 8); //also didnt work.
pm.fill();
Gdx.graphics.setCursor(Gdx.graphics.newCursor(pm, 0, 0));
//restore normal blending
Pixmap.setBlending(Pixmap.Blending.SourceOver);我试图用透明的像素映射替换默认的游标。
这似乎是最简单的方式,完全取代游戏光标(在桌面/gwt),而不让它也超出了边界的窗口,从而激怒用户。
问题是,替换光标总是黑色的,不透明。我是不是搞错了Pixmap?
你能没有透明的光标吗?(它说它不可能是半透明的,但我希望它完全看不见)。
在这里有点困惑,因为似乎没有太多的选择可以尝试。我想我可以加载一个空的png,但是那个seems....well....silly。
想法?
谢谢,
托马斯
发布于 2016-09-04 20:42:54
好的,据我所知,当在小尺寸上使用时,它是LibGDX像素填充函数中的一个bug。我是在注意到地图更大的时候才得出这个结论的。
Pixmap pm = new Pixmap(x,y,Format.RGBA8888);
Pixmap.setBlending(Pixmap.Blending.None);
pm.setColor(0f,0f,0f,0f);
pm.fillRectangle(0, 0, x, y);对像素映射(x/y)的大小进行实验,我得到以下结果;
8*8 -不起作用。黑色的出来。
16*16 -工作。完全透明。
64*64 -工作。完全透明。
因此,解决方法只是使用16x16或更高版本。不管怎样,它是透明的,所以不重要。不过,奇怪的虫子。
结论:
似乎是正在使用的windows库中的一个bug。这里的线程讨论;https://github.com/libgdx/libgdx/issues/4292#issuecomment-244804073
不幸的是,这很可能意味着无法依靠解决办法。
https://stackoverflow.com/questions/39308714
复制相似问题