Python中文
首页
教程
问答
标签
搜索
登录
注册
当用索引替换数字时,pygame中的图像会失真
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我不确定是否有一个错误,我的图像或我的代码有问题。例如,当<code>greenScoreList[gfindex]</code>是一个固定的数字时,它会产生一个很好的图像(忽略透明度的缺乏):</p> <p><img src="https://i.stack.imgur.com/1TG6y.png" alt="enter image description here"/></p> <p>当<code>greenScoreList[gfindex]</code>依赖于<code>greenScoreList</code>的每一列中的分数时,每个{<cd4>}的大小取决于分数增加的程度。这会产生扭曲的图像:</p> <p><img src="https://i.stack.imgur.com/DYK57.png" alt="i.imgur.com/c0bgVju.png"/></p> <pre><code>def load_image(file, name, transparent, alpha): new_image = pygame.image.load(file) if alpha == True: new_image = new_image.convert_alpha() else: new_image = new_image.convert() if transparent: colorkey = new_image.get_at((0,0)) new_image.set_colorkey(colorkey, RLEACCEL) images[name] = new_image class GreenFish(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) self.image = images["spr_greenfish"] self.rect = self.image.get_rect() allsprites.add(self) self.random_direction() global greenWidth, greenHeight, greenScoreList greenWidth, greenHeight = (24, 8) #orig image size greenScoreList = [0, 0, 0, 0, 0] def update(self): newpos = (self.rect.topleft[0]+self.direction[0],self.rect.topleft[1]+self.direction[1]) self.rect.topleft = newpos for greenFish in greenfishes: gfindex = greenfishes.index(greenFish) #the image looks distorted when removing the line below greenScoreList[gfindex] = 50 #50 is as fixed number for example greenfishes[gfindex].image = pygame.transform.scale(greenfishes[gfindex].image, ((greenWidth+greenScoreList[gfindex]), greenHeight+greenScoreList[gfindex])) def collision_with_redFish(self, greenFishIndex): for i in range(5): if i == greenFishIndex: greenScoreList[i] += 10 break spr_greenfish = load_image("sprites/greenfish3.png", "spr_greenfish", True, True) </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>它这样做的原因是因为green fish的update()函数依赖于大小。如果我将大小重置回images[“spr_nugreenfish”]而不是在每一帧上都对其进行pygame变换,那么这个问题就会得到解决。Pygame不喜欢这样。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
9 回答
如何添加表示整数的擦边字符串?
4 回答
如何添加要在Bokeh中使用的新font.ttf文件?
4 回答
如何添加要显示的矩阵XY轴编号和XY轴
8 回答
如何添加计数?
10 回答
如何添加计数器函数?
1 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
3 回答
如何添加计数器来跟踪while循环中的月份和年份?
8 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
9 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
9 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
7 回答
如何添加评论拉梅尔亚姆
5 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
5 回答
如何添加谷歌地点自动完成到Flask?
1 回答
如何添加超时、python discord bot
8 回答
如何添加超过1dp的检查
3 回答
如何添加距离方法
5 回答
如何添加跟随游戏的敌人精灵
6 回答
如何添加路径以便python可以找到程序?
2 回答
如何添加身份验证/安全性以使用happybase访问HBase?
3 回答