我是python的新手,我正尝试使用从另一篇文章中复制的函数来获取图像的高度,以便可以将图像正确放置在窗口中,以供我使用PyGame制作的游戏使用。有任何想法吗?
代码:
http://pastebin.com/atZ6vbZQ(从此处复制get_image_size )
错误:
追溯(最近一次通话最近):文件“ Game / game.py”,第67行,位于displayCar((display_width / 2),(display_height-(get_image_size(Lightning).height)))文件“ Game / game.py”在get_image_size中的第22行,使用open(fname,'rb')作为句柄:TypeError:强制转换为Unicode:需要字符串或缓冲区,pygame.Surface
get_image_size(fname)
期望,file name
但是您使用Lightning
哪个是pygame.Surface()
对象
但是pygame.Surface()非常有用,您可以将其大小(和位置)作为pygame.Rect()对象获取
Lightning_rect = Lightning.get_rect()
然后你有图像的大小和位置
Lightning_rect.width
Lightning_rect.height
Lightning_rect.x
Lightning_rect.y
Lightning_rect.left
Lightning_rect.right
Lightning_rect.top
Lightning_rect.bottom
Lightning_rect.center
等等。
您可以使用更改位置
Lightning_rect.x = new_x
Lightning_rect.y = new_y
或者
Lightning_rect.topleft = (new_x, new_y)
并绘制/变色
gameDisplay.blit(Lightning, Lightning_rect)
如果要在屏幕上居中放置图像,则
gameDisplay_rect = gameDisplay.get_rect()
Lightning_rect.center = gameDisplay_rect.center
BWT:您可以使用Rect()检查与另一个Rect()(pygame.Rect.colliderect
)或点(pygame.Rect.collidepoint
)的碰撞-即 用鼠标位置建立按钮。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句