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.
 
   
