首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pixmap --那只是transparent....this --应该很容易,对吧?

Pixmap --那只是transparent....this --应该很容易,对吧?
EN

Stack Overflow用户
提问于 2016-09-03 15:49:47
回答 1查看 344关注 0票数 1

这是我的密码

代码语言:javascript
复制
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。

想法?

谢谢,

托马斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-04 20:42:54

好的,据我所知,当在小尺寸上使用时,它是LibGDX像素填充函数中的一个bug。我是在注意到地图更大的时候才得出这个结论的。

代码语言:javascript
复制
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

不幸的是,这很可能意味着无法依靠解决办法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39308714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档