python-3.x - 如何解决 pygame 中不透明度更改的 OOP 问题
问题描述
我正在尝试将 pygame 的组成部分变成它自己独立的类/定义。但是当尝试设置图像的不透明度时,它不会显示为例外,而是从设置的不透明度开始并变亮,直到达到可能的最大不透明度。
我试图查看包含游戏的模块和包含类的模块中的不透明度是否发生了变化。然而他们最终给了我正确的数字,应该是为不透明度设置的数字。是的,我一直在寻找任何可能会错误地开始增加不透明度的东西。
这是我用来编辑图像的一段代码。
class PicEditor:
def scale(Pic,scaleX,scaleY):
Pic.blit = pygame.transform.scale(Pic.blit,(scaleX,scaleY))
def opacity(Pic,opc):
Pic.blit.set_alpha(opc)
print(opc) #attempt at figuring out the problem
这是我试图运行的代码。
while not crashed:
display.gameLoopTop() #the usual game loop used ontop in pygame
PicEditor.opacity(templatePic,opacityTemplate) #the issue
PicEditor.scale(templatePic,displayX,displayY) #scaling an image (works fine)
templatePic.blitIMG() #bliting the image
display.gameLoopBottom() #the bottom of a game loop which includes the clock function and pygame display update
pygame.quit()
exit()
预期的结果是图像的不透明度将改变 50 (opacityTemplate = 50),然后图像将适合屏幕的大小 (displayX,displayY),然后是 blited。
一切运行完美,除了图像的不透明度从给定的数字 50 开始,然后再增加 50,直到达到最大不透明度而不会崩溃。
解决方案
推荐阅读
- linq - 基于方法的 linq 总是比基于查询的 linq 更好,还是有一些限制?
- react-proptypes - 在 React 中只指定这些道具类型?
- python - 无法解决 Python 3 中的运行时错误
- matlab - 在不使用 min/max 命令的情况下查找矩阵的坐标最小值和最大值
- reactjs - 如何使用 React Router v4 处理重定向到同一路由(使用查询参数)
- html - 为什么最后一段没有在下面的 HTML 代码中着色?
- node.js - Typescript:通过装饰器工厂上的 TypedPropertyDescriptor 限制装饰器
- python - __VIEWSTATE、__EVENTVALIDATION、__EVENTTARGET 和 scrapy & splash 的问题
- html - Cant 样式 ul 列表(bootstrap 4,wordpress 主题)
- cassandra - 多节点数据中心的重启顺序