Функция Pygame Rotate.blit не работает должным образомPython

Программы на Python
Ответить
Anonymous
 Функция Pygame Rotate.blit не работает должным образом

Сообщение Anonymous »

Я пытаюсь повернуть след на тот же угол, что и значок игрока, но pygame просто снова и снова повторяет одну и ту же поверхность, образуя черный ящик.
Вот мой код:

Код: Выделить всё

import os,sys
os.environ['PYGAME_HIDE_SUPPORT_PROMPT']='1'
import pygame
pygame.init()
screen=pygame.display.set_mode(vsync=1)
pygame.display.set_caption("pyDash")
pygame.display.set_allow_screensaver(False)
pgInfo=pygame.display.Info()
waveTrail=pygame.image.load("./wave-trail.png")
globalIcons={"wave":pygame.image.load("./defaultw.png")}
globalIcons["wave"]=pygame.transform.scale(globalIcons["wave"],(50.5,62.5))
def playExplodeAnimation(ani,cmode):pass
class Player(object):
def __init__(self,mode,ypos,hidden=False,gravity=0,rot=-90):
self.mode=mode
self.hidden=hidden
self.gravity=gravity
self.rot=rot
self.ypos=ypos
def kill(self,kb):
self.hidden=True
playExplodeAnimation(kb,self.mode)
player=Player("wave",0)
if player.mode=="wave":player.ypos=pgInfo.current_h/2-globalIcons["wave"].get_height()
try:
while True:
screen.fill((225,225,225))
for event in pygame.event.get():
if event.type==pygame.QUIT or event.type==pygame.KEYDOWN and event.key==pygame.K_NUMLOCK:pygame.quit()
if pygame.mouse.get_pressed()[0]:
if player.mode=="wave":player.rot=-45
else:pass
elif pygame.mouse.get_pressed()[2]:
if player.mode=="wave":player.rot=-135
if player.rot==-45:player.ypos-=1
elif player.rot==-135:player.ypos+=1
if not player.hidden:
prIcon=globalIcons[player.mode]
wtrail=pygame.transform.rotate(waveTrail,player.rot+90)
prIcon=pygame.transform.rotate(prIcon,player.rot)
screen.blit(wtrail,(100,200))
screen.blit(prIcon,(pgInfo.current_w/2,player.ypos))
pygame.display.flip()
except pygame.error:sys.exit(1)
Я пробовал менять порядок и вращение поверхности, но ничего не изменилось.

Подробнее здесь: https://stackoverflow.com/questions/793 ... s-intended
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»