获取pyxel retro gam上像素的颜色

2024-06-16 12:32:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Pyxel编写一个简单的射击游戏,其中一个敌人随机出现在屏幕上。我已经实现了一个策略来检测一个给定的射击是否击中了敌人,但是对我来说一个更简单的解决方案是在鼠标坐标下检查屏幕上一个像素的颜色。我没有找到一个API函数来实现这一点

我检查了渲染器模块(https://github.com/kitao/pyxel/blob/master/pyxel/renderer.py)的源代码,发现了对OpenGL库的调用:

capture_image = gl.glReadPixels(
            0, 0, self._width, self._height, gl.GL_RGB, gl.GL_UNSIGNED_BYTE)

我试着在我的剧本上也这么做:

capture_image = gl.glReadPixels(
            pyxel.mouse_x, pyxel.mouse_y, 1, 1, gl.GL_RGB, gl.GL_UNSIGNED_BYTE)

但无论何时调用gl.glReadPixels(..),我总是得到背景色

有没有办法在pyxel脚本上获得屏幕上单个像素的颜色


Tags: imageself屏幕颜色rgb像素bytecapture