如果我有一個精靈(見下文),我可以四處移動,屏幕上有箭頭鍵。 (向上和向下移動,向左和向右轉動。) 我想知道當它熄滅時是否可以移動到屏幕的另一側?但是,無論角度如何,它都可以工作,所以如果它的一半被驅動到邊緣,一半出現在一邊。 (有點像蛇)有沒有辦法做到這一點?當精靈離開屏幕時,將精靈移動到另一側Pygame
這裏是我到目前爲止的代碼:
import sys, pygame, math
from pygame.locals import *
pygame.init()
SCREEN = pygame.display.set_mode((800, 600))
car = pygame.transform.scale(pygame.image.load('Car.png').convert_alpha(), (64, 64))
pygame.display.set_caption('Car Game')
pygame.display.set_icon(car)
FPS = pygame.time.Clock()
carX = 400
carY = 100
angle = 90
speed = 0
while True:
if angle == 360: angle = 0
if angle == -1: angle = 359
SCREEN.fill((0,0,0))
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
keys = pygame.key.get_pressed()
if keys[K_a] or keys[K_LEFT]:
angle += speed
elif keys[K_d] or keys[K_RIGHT]:
angle -= speed
if keys[K_w] or keys[K_UP]:
speed += 1
elif keys[K_s] or keys[K_DOWN]:
speed -= 0.5
carX += speed*math.cos(math.radians(angle))
carY -= speed*math.sin(math.radians(angle))
speed *= 0.95
rotcar = pygame.transform.rotate(car, angle)
position = rotcar.get_rect(center = (carX,carY))
SCREEN.blit(rotcar, position)
pygame.display.update()
FPS.tick(24)
我不熟悉pygame,所以這裏是你的起點。您正在尋找的_term_要描述您想要實現的是** wraping **還是** wraparound **,因爲當您的對象進入_off_屏幕時,它將回到另一側,而不是_side scrolling_。 要實現這一點,首先要改變你的汽車在屏幕上的位置;一個簡單的pygame例子可以在這裏看到[screen wrap boundaries](http://cs.iupui.edu/~aharris/pygame/ch08/wrap.py)。看看'def checkBounds(self)'函數。 –
@JonathonOgden是否有一半的車出現在兩側? –
我會爲你調查。我認爲如果你把它放在屏幕上/屏幕上,那麼pygame不會處理雙方汽車各部分的繪圖嗎? –