【问题标题】:Centering the Images居中图像
【发布时间】:2023-02-18 06:24:03
【问题描述】:

我今年才开始使用 Pygame,目前正在使用 pygame 制作答题器游戏。由于某种原因,图像没有在屏幕上居中。

import pygame
import sys

pygame.init()
screen = pygame.display.set_mode((2560, 1760))
    
class emoji:
     def __init__(self, x, y):
         self.x=x
         self.y=y
         self.length = 500
         self.emoji = pygame.transform.scale(pygame.image.load("emoji.jpeg"), (self.length, self.length))
    
     def draw(self):
         screen.blit(self.emoji, (self.x, self.y))
    
     def rect(self):
         self.rect_.x=self.x
         self.rect_.y=self.y
         return self.rect_


    
while True:
    screen.fill((255, 255, 255))

    # this is the problematic line:
 
    obj = emoji(screen.get_rect().center[0], screen.get_rect().center[1])

    obj.draw()
    pygame.display.flip()

    for x in pygame.event.get():
       if x.type == pygame.QUIT:
           sys.exit()

那是我的代码,obj=emoji(screen.get_rect().center[0], screen.get_rect().center[1]) 是我的居中代码。我不知道它有什么问题。 根据我所拥有的每一个来源,这就是如何将一个对象居中。

【问题讨论】:

    标签: python pygame centering


    【解决方案1】:

    获取图像的边界矩形,并将矩形的中心设置为屏幕中心。使用矩形blit图像:

    screen.blit(self.emoji, (self.x, self.y))

    screen.blit(self.emoji, self.emoji.get_rect(center = (self.x, self.y)))
    

    请注意,blit 的第二个参数可以是带坐标的元组或矩形。当参数为矩形时,矩形的左上角将作为.

    【讨论】:

      猜你喜欢
      • 2016-12-25
      • 1970-01-01
      • 1970-01-01
      • 2015-06-21
      • 2014-10-17
      • 2010-12-30
      • 2019-01-26
      • 2012-07-02
      • 2010-12-08
      相关资源
      最近更新 更多