我需要一组基于精灵角落的2个坐标(X和Y); 而不是一组坐标,在精灵的中间
进一步背景:
假设我做了一个pygame窗口10px * 10px 如果我在一个精灵中搞快,那就是10px * 10px,在5,5。我如何获得左上角和右下角的值?
答案 0 :(得分:1)
Sprite的mysprite.rect.topleft
属性非常适用于此:
mysprite.rect.bottomright
=> (10,10)
Rect
=> (15,15)
Pygame removed: true,
didRender() {
this._super(...arguments);
this.set('removed', true);
},
actions: {
removeItem(item) {
this.set('removed', false);
this.get('fakeData').removeObject(item);
this.rerender();
}
},
对象拥有一组可以使用的有用句柄属性。完整列表位于文档中:
答案 1 :(得分:0)
使用pygame.Rect来保持对象大小和位置。
如果您有图像,那么您可以将其大小设为`rect
rect = image.get_rect()
然后你可以设置它的位置
rect.center = (5, 5)
和blit it
blit(image, rect)
rect
还有其他有用的属性:left
,right
,top
,left
,centerx
,centerx
等。
你可以获得屏幕直观
screen_rect = screen.get_rect()
和屏幕上的中心元素
rect.center = screen_rect.center
您可以将文字置于按钮矩形中心的相同方式。
rect
还有检查冲突的方法
rect.colliderect(other_rect)
rect.collidepoint(mouse_position)
pygame.sprite.Sprite已使用pygame.Rect
将尺寸和位置保持为your_sprite.rect