用Python编了个街机游戏,在公司的电脑运行得好好的。回到家里运行却出错了?调试了一会儿,看了看paul Vincent Craven的原版例子,竟然也是出错了。难道是电脑问题?想到我的电脑很久没有重启了,于是就重启了一下。问题依旧,仔细看了一下,在红色的一在片异常提示中有一个字符串: raise GLException(f”Unable to create texture. {GL_MAX_TEXTURE_SIZE} {size}”)。GL应该是大于的意思,那么这个说的应该是超过了最大的纹理造型尺寸。我想可能是电脑性能限制,低性能的电脑不支持更多的角色造型。于是更改爆炸角色的造型数量,结果我和设想的一样。不过还是给作者发了封电邮,这回第二天就回了。下面是他的回答:
Interesting. Max texture size is determined by your graphics card. Looks like yours does not go as high.
Look at line 27 on that example for:
EXPLOSION_TEXTURE_COUNT = 60
Make the number smaller until it works.
There are things that can be done to support more textures, which need to be coded.
Paul Vincent Craven
结果和我设想的大致差不多,不过知道了是显卡的限制,并且知道了可以通过编程突破这个限制。