Pygame中rect 初探

1. 来自CSDN博客的解释:

rect对象是用来存储矩形对象的,rect对象有一些虚拟属性,

比如top.left,bottom.right这些是用来固定矩形的位置的,

还有size,width,height,这些是描述矩形大小,宽高分别是多大,

center为矩形的中心点,其实就是关于横纵坐标的二元组,因此又有centerx,centery两个属性。此外,还有x,y。

 

2.来自Pygame中文文档的解释:

class pygame.Rect

Rect是用于存储矩形坐标的pygame对象。

 

“构造”方法:

1).rect = pygame.Rect( left , top, width, height )

2). rect = pygame.Rect(( left , top),( width, height) )

3).rect = pygame.Rect(object)

 

例子:

1).《外星人入侵》里的bullet类:

self.rect = pygame.Rect(0, 0, ai_settings.bullet_width,ai_settings.bullet_height)

 

2). 《外星人入侵》里的ship类:

self.image = pygame.image.load('images/ship.bmp')

 self.rect = self.image.get_rect()

 

3).比较特殊的是这个:

在screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))

pygame.display.set_caption("Alien Invasion")

中并没

screen.get_rect( )便返回了screen的rect对象。

有出现关于screen的rect,接下来请看ship类的__init()__

 

 

screen.get_rect( )便返回了screen的rect对象。

 

 

3.关于rect里面的各个属性。先进行测试:

主要测试代码为test.py文件

(1)测试1及结果

 

(2)测试2及结果

 

可见,rect.x和rect.y是分别自动等于rect.left和rect.top的,并且centerx和centery也是自动根据left,top,width和height计算得到的。我仅仅通过pygame.Rect(600,20,30,20)这行(实际只指定left, top,width, height),它就自动计算了x,y,centerx,centery等。

(3)测试3及结果

(4)

真相:实际上x就是left,y就是top

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值