Python - Python ayuda sobre dibujar recta con dos puntos

 
Vista:

Python ayuda sobre dibujar recta con dos puntos

Publicado por wilmer (1 intervención) el 18/08/2018 00:50:34
Buen dia
Necesito tomar 2 puntos de la pantalla creada y de esos dos puntos hacer una linea entre estos 2 puntos pero estos puntos los tomo al hacerle click con el mouse. gracias


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import pygame
 
Ancho=640
Alto=480
 
verde=[0,255,0]
blanco=[255,255,255]
negro=[0,0,0]
if __name__ == '__main__':
    pygame.init()
    pantalla=pygame.display.set_mode([Ancho,Alto])
    con=0
    vel_x=0
    vel_y=0
    condi=0
    reloj=pygame.time.Clock()
    fin=False
    pos1=[]
    pos2=[]
    pos3=[]
    pos4=[]
    while not fin:
        for event in pygame.event.get():
            if event.type==pygame.QUIT:
                fin=True
            if event.type==pygame.MOUSEBUTTONDOWN:
                pos1=pygame.mouse.get_pos()
                print(pos1)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Python ayuda sobre dibujar recta con dos puntos

Publicado por tincopasan (1082 intervenciones) el 20/08/2018 15:55:00
hay muchas formas de hacerlo, te muestro una, no uso tu código porque me da fiaca revisarlo y modificarlo, es más facil usar uno propio y que vos lo adaptes a tus necesidades:
está de más aclararlo, funciona desde que presiona hasta que suelta el botón, otra forma sería al hacer click en dos lugares, pero es más de lo mismo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#-*- coding: utf -8 -*-
import pygame
blanco=(255,255,255)
tamaño=[640,480]
pygame.init()
pantalla=pygame.display.set_mode(tamaño)
terminar= False
reloj=pygame.time.Clock()
inicio=[]
while not terminar:
    evento = pygame.event.wait()
    if evento.type ==pygame.QUIT:
        terminar=True
    if evento.type == pygame.MOUSEBUTTONDOWN:
        inicio=evento.pos
 
    if evento.type == pygame.MOUSEBUTTONUP:
        pygame.draw.line(pantalla, blanco,(inicio), (evento.pos), 5) #dibuja desde que presiona hasta que suelta el botón    
    pygame.display.flip()
    reloj.tick(60)
 
 
pygame.quit()
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar