Forum
>>
Programmazione Python
>>
Videogames
>>
Pygame girare linea come lancette orologio
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da Pertick |
2018-10-19 08:24:45 - Pygame girare linea come lancette orologio
|
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 |
|
Scritto da Daniele aka Palmux |
2018-10-19 09:50:20 - Re: Pygame girare linea come lancette orologio
|
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. |
|
Scritto da Pertick |
2018-10-19 10:39:25 - Re: Pygame girare linea come lancette orologio
|
Devo per forza usare il metodo math con i gradi o posso fare diversamente??
|
|
Scritto da Pertick |
2018-10-19 11:27:02 - Re: Pygame girare linea come lancette orologio
|
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) |
|
Scritto da Pertick |
2018-10-19 20:08:44 - Re: Pygame girare linea come lancette orologio
|
Ho postato il codice
|
|
Scritto da AlessandroV |
2020-04-17 11:10:47 - Re: Pygame girare linea come lancette orologio
|
Salve, devi provare a colorare lo schermo dentro il while . Te l'ho segnato con una freccia: (consiglio: aggiorna lo schermo solo una volta e fallo alla fine del loop così il programma sarà più fluido)
import sys import math import pygame from pygame.locals import * 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: win.fill((0,0,0)) #<--- (0,0,0) sta per nero 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) 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) pygame.quit() sys.exit(0) --- Ultima modifica di AlessandroV in data 2020-04-17 11:13:23 --- |
Pagina: 1
Esegui il login per scrivere una risposta.