如何根据pygame中的精灵位置获得一组坐标?

时间:2016-12-11 11:00:09

标签: pygame

我需要一组基于精灵角落的2个坐标(X和Y); 而不是一组坐标,在精灵的中间

进一步背景:

假设我做了一个pygame窗口10px * 10px 如果我在一个精灵中搞快,那就是10px * 10px,在5,5。我如何获得左上角和右下角的值?

2 个答案:

答案 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(); } }, 对象拥有一组可以使用的有用句柄属性。完整列表位于文档中:

http://www.pygame.org/docs/ref/rect.html

答案 1 :(得分:0)

使用pygame.Rect来保持对象大小和位置。

如果您有图像,那么您可以将其大小设为`rect

rect =  image.get_rect()

然后你可以设置它的位置

rect.center = (5, 5)

和blit it

blit(image, rect)

rect还有其他有用的属性:leftrighttopleftcenterxcenterx等。

你可以获得屏幕直观

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