''''
创建on 21.sep.2013
Page 136 in ze almighty python book,4.3
@author: Christian
''''
import sys,pygame,time
pygame.init (
numLevels=15 # Number of levels
unitSize=25 # Height of one level
white=(255,255,255 ) # RGB Value of White
black=(0,0,0 ) # RGB Value of Black
size=unitsize * (编号级别1 ) ) )。
xpos=size/2.0 # constantpositionofxvalue
screenSize=size,size # screensizetoaccomodatepygame
screen=pygame.display.set _ mode (screen size )
forlevelinrange(numlevels ) :
ypos=(level1) * unitSize
width=(level1) * unitSize
bock=pygame.draw.rect (屏幕,white,() 0,0,width,unitSize ),0 ) )
bock.move(xpos,yPos ) )。
pygame.time.wait(100 ) )。
pygame.display.flip (
block.move(xpos,yPos ) )应该可以工作,但是因为什么奇怪的理由不能工作.我不知道为什么。
确实,所有其他功能都正常工作。 在访问这个网站寻求帮助之前,我搜索了几个小时的互联网
解决方法:
根据文档,draw.Rect在构造函数中使用rect而不是元组。
block=pygame.draw.rect (屏幕,white,rect (0,0,width,unitSize ),0 ) )
移动返回的Rect不会奇怪地重新绘制块。 要重新绘制块,必须重新绘制块。
bock.move(xpos,yPos ) )。
block=pygame.draw.rect (屏幕,white,block,0 ) )。
当然,你现在屏幕上有两个街区。 因为你画了两次。 如果你还想移动块,为什么要先在旧位置画它? 为什么不只是指定开始的位置?
block=pygame.draw.rect (屏幕,white,rect ) yPos,yPos,width,unitSize ),0 )
如果有更多关于要执行的操作的信息,可能会给出更好的答案。
标签: pygame,python
资料来源: https://codeday.me/bug/2019 11 22/2061336.html