Played around with some rotational vectors in pygame:
import pygame, random, sys
from pygame.locals import *
WINDOWWIDTH=600
WINDOWHEIGHT=600
BACKGROUNDCOLOR=(0, 0, 0)
FPS=40
def terminate():
pygame.quit()
sys.exit()
pygame.init()
mainClock=pygame.time.Clock()
windowSurface=pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT))
pygame.display.set_caption('Test program')
pygame.mouse.set_visible(False)
image1=pygame.image.load('arrowUp.png')
width1, height1=image1.get_size()
while True:
#playerRect.topleft=(WINDOWWIDTH/2, WINDOWHEIGHT/2)
while True:
image2=pygame.transform.rotate(image1, 5)
width2, height2=image2.get_size()
for event in pygame.event.get():
if event.type==QUIT:
terminate()
if event.type==KEYDOWN:
if event.key==K_RIGHT:
image2=pygame.transform.rotate(image1, 5)
width2, height2=image2.get_size()
if event.key==K_ESCAPE:
terminate()
windowSurface.fill(BACKGROUNDCOLOR)
windowSurface.blit(image2, [round(WINDOWWIDTH/2-(width1-width2)/2), round(WINDOWHEIGHT/2-(height1-height2)/2)])
pygame.display.update()
mainClock.tick(FPS)
I also got images to change when certain actions are taken
import pygame, random, sys
from pygame.locals import *
WINDOWWIDTH=600
WINDOWHEIGHT=600
BACKGROUNDCOLOR=(0, 0, 0)
FPS=40
PLAYERMOVERATE=5
def terminate():
pygame.quit()
sys.exit()
#Initalize
pygame.init()
mainClock=pygame.time.Clock()
windowSurface=pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT))
pygame.display.set_caption('Test program')
pygame.mouse.set_visible(False)
playerImage=pygame.image.load('arrowUp.png')
playerRect=playerImage.get_rect()
while True:
playerRect.topleft=(WINDOWWIDTH/2, WINDOWHEIGHT-50)
moveLeft=moveRight=moveUp=moveDown=False
while True:
for event in pygame.event.get():
if event.type==QUIT:
terminate()
if event.type==KEYDOWN:
if event.key==K_UP and event.key==K_RIGHT:
playerImage=pygame.image.load('arrowUpRight.png')
if event.key==K_LEFT:
playerImage=pygame.image.load('arrowLeft.png')
moveRight=False
moveLeft=True
if event.key==K_RIGHT:
playerImage=pygame.image.load('arrowRight.png')
moveLeft=False
moveRight=True
if event.key==K_UP:
playerImage=pygame.image.load('arrowUp.png')
moveDown=False
moveUp=True
if event.key==K_DOWN:
playerImage=pygame.image.load('arrowDown.png')
moveUp=False
moveDown=True
if event.type==KEYUP:
if event.key==K_LEFT:
moveLeft=False
if event.key==K_RIGHT:
moveRight=False
if event.key==K_UP:
moveUp=False
if event.key==K_DOWN:
moveDown=False
if event.key==K_ESCAPE:
terminate()
if event.type==MOUSEMOTION:
playerRect.move_ip(event.pos[0] - playerRect.centerx, event.pos[1] - playerRect.centery)
if moveLeft and playerRect.left>0:
playerRect.move_ip(-1*PLAYERMOVERATE, 0)
if moveRight and playerRect.right<WINDOWWIDTH:
playerRect.move_ip(PLAYERMOVERATE, 0)
if moveUp and playerRect.top>0:
playerRect.move_ip(0, -1*PLAYERMOVERATE)
if moveDown and playerRect.bottom<WINDOWHEIGHT:
playerRect.move_ip(0, PLAYERMOVERATE)
pygame.mouse.set_pos(playerRect.centerx, playerRect.centery)
windowSurface.fill(BACKGROUNDCOLOR)
windowSurface.blit(playerImage, playerRect)
pygame.display.update()
mainClock.tick(FPS)
No comments:
Post a Comment