簡體   English   中英

pygame圖像旋轉運動

[英]Pygame images move with rotation

我仍然在旋轉方面遇到問題(請參閱我的上一個問題),因此為了解決這些問題,我從游戲的上下文中解決了該問題,以查看是否可以在不混淆我嘗試做的其他所有事情的情況下使其旋轉。 我現在遇到的問題是圖像旋轉,但同時也飛離了屏幕。 我沒有任何移動命令,只能將其旋轉到位。 為什么會這樣呢?

這是我的代碼:

import pygame
import sys

pygame.init()

size = width , height = 400 , 400

screen = pygame.display.set_mode(size)

car = pygame.image.load("Car3.png").convert()
carRect = car.get_rect()
carRect = carRect.move(200 , 200)

running = True

while running:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
           running = False

    car = pygame.transform.rotozoom(car ,30  , 1)

    screen.blit(car , carRect)
    pygame.display.flip()

pygame.quit()
sys.exit()

注意:我使用rotozoom的原因是,我讀到圖像旋轉時自動調整大小會出現問題。

您打算在這里使用這兩行來實現什么?

carRect = car.get_rect()
carRect = carRect.move(200 , 200)

為什么在這里調用Rect.move函數?

您的問題可能是,blit是在左上角完成的。 我不知道您的圖像的尺寸,但是可能是因為它在旋轉過程中“旋轉”出了窗外,因為在旋轉過程中左上角發生了移動?

這里有點晚了,否則我自己去找文獻資料,給你一個更詳盡的答案。 但到那時為止:旋轉圖像時,我將按圖像的中心放置它,而不是按其左上角。 無論哪種方式都可以完成,我發現使用該中心更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM