[爆卦]PyGame座標是什麼?優點缺點精華區懶人包

為什麼這篇PyGame座標鄉民發文收入到精華區:因為在PyGame座標這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者monomorium (好人攝影師)看板Python標題[問題] Pygame中Rect物件的旋...



小弟不才 雖知道改變座標值即可
卻一時想不到如何計算座標的改變量

import pygame
from pygame.locals import *
from sys import exit
from random import randint

screen_size = (800, 600)
title = "Rect Test"
black = (0, 0, 0)
blue = (0, 0, 255)
points = [(200, 200), (500, 200), (500, 400), (200, 400)]
pos = []
moves = []
keys = []

def run():
pygame.init()
screen = pygame.display.set_mode(screen_size, 0, 32)
pygame.display.set_caption(title)
while True:
for event in pygame.event.get():
if event.type == QUIT:
exit()
if event.type == MOUSEMOTION:
pos.append(event.pos)
moves.append(event.rel)
if event.type == KEYDOWN:
keys.append(event.key)

screen.fill(black)
mouse_pos = pygame.mouse.get_pos()
tank = pygame.draw.polygon(screen, blue, points)

min_x = min(points[0][0], points[1][0], points[2][0], points[3][0])
max_x = max(points[0][0], points[1][0], points[2][0], points[3][0])
min_y = min(points[0][1], points[1][1], points[2][1], points[3][1])
max_y = max(points[0][1], points[1][1], points[2][1], points[3][1])

if pygame.mouse.get_pressed()[0]:
if min_x <= mouse_pos[0] <= max_x and min_y <= mouse_pos[1] <= max_y:
for i in range(4):
x = points[i][0] + moves[-1][0]
y = points[i][1] + moves[-1][1]
points[i] = (x, y)

pygame.event.post(pygame.event.wait())

if pygame.key.get_pressed()[K_LSHIFT]:
if min_x <= mouse_pos[0] <= max_x and min_y <= mouse_pos[1] <= max_y:
x0 = points[0][0]
y0 = points[0][1] + 1
points[0] = (x0, y0)

x1 = points[1][0] - 1
y1 = points[1][1]
points[1] = (x1, y1)

x2 = points[2][0]
y2 = points[2][1] - 1
points[2] = (x2, y2)

x3 = points[3][0] + 1
y3 = points[3][1]
points[3] = (x3, y3)

pygame.display.update()

if __name__ == "__main__":
run()


小弟的這段程式碼是會旋轉沒錯 但是會越轉越大
版上的前輩可否指教如何大小不變的旋轉
或是提供網路上的一些例子

雖說這對小弟而言 有很好 沒有也沒關係
仍是感激前輩的賜教 謝謝!

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.130.101
zhouer:幫你放到 nopaste 上,http://rafb.net/p/gYQdHd44.html 09/25 00:40
ewn:一般算旋轉座標都用三角函數算吧,你這樣加一加怪怪的 09/25 01:53

你可能也想看看

搜尋相關網站