Forum >> Programmazione Python >> Videogames >> Pygame girare linea come lancette orologio

Pagina: 1

Messaggio annotato da Daniele aka Palmux :
Questa discussione è stata spostata dalla categoria Principianti.
Pygame.draw.line= (Windows, green,pos1, pos2)
Come faccio a fare in modo che la pos1 rimanga invariata e invece pos2 si modifichi per far girare la linea come una lancetta in senso orario o antiorario
Pygame.draw.line= (Windows, green,pos1, pos2)
Come faccio a fare in modo che la pos1 rimanga invariata e invece pos2 si modifichi per far girare la linea come una lancetta in senso orario o antiorario
Pertick ormai lo sai come funziona su questo forum.

1. Provi a postare del codice manifestando i tuoi dubbi specifici;
2. Evidenzi la parte e cosa non comprendi;
3. Aggiungi gli eventuali messaggi di errore restituiti e tutte le informazioni utili.
Arrivati a questo punto si intavola una discussione.

Su questo forum non siamo dei distributori a comando di codice, sarebbe deleterio oltretutto per la tua formazione, potrai non crederci ma è così.

A presto.

Devo per forza usare il metodo math con i gradi o posso fare diversamente??
questo è il codice mi appare una specie di radar ma vorrei che non si vedessero tutte le linee ruotate ma solo una linea che ruota in senso antiorario
ps ci sono anche altre linee che non servono

import sys
import math
import pygame
from pygame.locals import *
print "ciao"
pygame.init()
win = pygame.display.set_mode((500, 500))
pygame.display.set_caption("First Game")
x = 50
FPS = pygame.time.Clock()

startpo = pygame.math.Vector2(320, 240)
endpo = pygame.math.Vector2(170, 0)
angle = 0
y = 50
green = (20, 220, 10)
run = True
while run:
    pygame.time.delay(100)

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
    angle = (angle+5) % 360
    current_endpo = startpo + endpo.rotate(angle)
    
    pygame.draw.line(win, green, startpo, current_endpo, 2)
    pygame.display.flip()
    FPS.tick(30)
    pygame.draw.line(win, green, (200, 400), (200, 470))
    pygame.draw.line(win, green, (200, 400), (200, 470))
    pygame.draw.line(win, green, (200, 325), (200, 395))
    pygame.draw.line(win, green, (200, 325), (200, 395))
    pygame.draw.line(win, green, (200, 220), (200, 320))
    pygame.draw.line(win, green, (300, 220), (300, 260))
    pygame.draw.line(win, green, (300, 265), (300, 335))
    pygame.draw.line(win, green, (200, 195), (200, 215))
    pygame.draw.circle(win, green, (200, 170), 17)
    for i in range (1, 500):
        pygame.draw.line(win, green, (400, 400), (400, 400))
    pygame.display.update()


pygame.quit()
sys.exit(0)



Ho postato il codice


Pagina: 1



Esegui il login per scrivere una risposta.