level 1
[图片][图片][图片][图片][图片][图片][图片][图片]程序运行没问题就是看不到左上角绘制的文本和放进去的坦克图片,后面发现改不了color(小白猜测是这个问题)pygame.color后面无论把数字改成什么yanse窗口yanse都不会变,第一个pygame.color后面格式错了是刚改的忘改过来了 之前把窗口颜色改成pygame.Color(255,0,0)窗口yanse还是黑的都没变,求大佬给小白解答下
2022年06月11日 00点06分
1
level 6
啊啊啊 文本你也不说一声 文本颜色这个东西渲染之后改不了的 文本像这样
pygame.font(字体名, 字号).render(字符串, True, 颜色)
改颜色就把那个颜色换成(R,G,B)就行了不用写pygame.color
另外screen不是都这么用吗 就是创建窗口时你实例的那个对象
screen = pygame.display.set_mode((宽, 高))
你自己在程序里看有没有这一行 把screen换成等号前面那个东西就行了
我看你是不是没有刷新画面
要pygame.display.update()
2022年06月18日 16点06分
6
文本渲染那一段一般长这样 text = pygame.font(字体名, 字号).render('XXX', True, 颜色) text_rect = text.get_rect() text_rect[0] = ... text_rect[1] = ... screen.blit(text, text_rect)
2022年06月18日 16点06分
@染塵CL 文本应该没错,我感觉就是颜色这里没改掉,我照你说的把pygame.Color删掉直接写的(R,G,B)报错了,诶,主要贴吧总是把我发的代码图片吞了,就很烦
2022年06月19日 11点06分
@改个昵称呗👀😹 ???怎么可能 一直都是这样啊 这个函数就是获取颜色列表然后转换成color对象再渲染啊 你看下是不是import有点问题或者干脆直接百度网盘发代码 指定是你代码的问题 pygame.color这用法我从来没用过
2022年06月21日 04点06分
@改个昵称呗👀😹 你看一下是不是只import了pygame一部分的类
2022年06月21日 04点06分
level 6
问题:
在
class MainGame:
def ksgame(self):
while True:
中
if MainGame.TANK_P1 and not MainGame.TANK_P1.stop:
MainGame.TANK_P1.move()
time.sleep(0.02)
#窗口的持续刷新
pygame.display.update
^此处pygame.display.update缺少了()
应该为
time.sleep(0.02)
#窗口的持续刷新
pygame.display.update()
2022年06月23日 05点06分
7
我现看的 这个没有报错吗 回去我运行一下再找别的问题
2022年06月23日 05点06分
level 6
问题(规范性):
在
file
中
COLOR_BLACK = pygame.Color(0,0,0)
COLOR_RED = pygame.Color(255,0,0)
^不需要使用pygame.Color
应该为
COLOR_BLACK = (0,0,0)
COLOR_RED = (255,0,0)
注意:
此类变量没有必要作为全局变量使用
如果一定要这样做请在需要使用该变量的函数中使用
global COLOR_BLACK, COLOR_RED
2022年06月23日 05点06分
8
level 6
问题(规范性):
在
class MainGame:
中
window = None
SCREEN_HEIGHT=600
SCREEN_WIDTH=1000
#创建我方坦克
TANK_P1=None
^这些变量应该放在
def __init__(self):
中
并且改为
self.window = None
self.SCREEN_HEIGHT=600
self.SCREEN_WIDTH=1000
#创建我方坦克
self.TANK_P1=None
在后续调用时使用
self.window=pygame.display.set_mode([self.SCREEN_WIDTH,self.SCREEN_HEIGHT])
而不是
MainGame.window=pygame.display.set_mode([MainGame.SCREEN_WIDTH,MainGame.SCREEN_HEIGHT])
从而优化性能并且方便重写
2022年06月23日 05点06分
9