Vilarejo PK2P
Bem-vindo ao fórum Vilarejo PK2P! O fórum oficial do canal Press Key to Play do Youtube!

Participe do fórum, é rápido e fácil

Vilarejo PK2P
Bem-vindo ao fórum Vilarejo PK2P! O fórum oficial do canal Press Key to Play do Youtube!
Vilarejo PK2P
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Grupo para reunir as pessoas que acompanham os vídeos no canal Press Key to Play e discutir os assuntos abrangidos pelo Blog PK2P.

Últimos assuntos

» RPG de Mesa: A fronteira Volume 4: O Castelo Owlrick. (D&D5e)
por Ariano 10/12/2020, 23:18

» [tutorial] hash em C/C++ com openssl
por kodo no kami 21/9/2020, 13:37

» ping lista grafico
por kodo no kami 24/7/2020, 07:53

» [Discord] Campanha de RPG D-cyber
por Jonatan15 17/7/2020, 11:11

» [tradução] 1869 (msdos)
por kodo no kami 26/6/2020, 13:43

» [source] exemplo filtro mediano
por kodo no kami 1/6/2020, 00:24

» [tutorial] criar filtro nas imagens (python)
por kodo no kami 22/5/2020, 19:29

» Wireless IDS Sagemcom
por kodo no kami 22/4/2020, 23:50

» [source] detectar dispositivos no wifi (sagemcom)
por kodo no kami 9/3/2020, 20:25

» [tutorial] wla assemblador (65xx, 68xx, z80, 8008, 8080 e huc6280)
por kodo no kami 2/2/2020, 16:42


Você não está conectado. Conecte-se ou registre-se

[tutorial] pygame: desenhar formas geometricas #2

Ir para baixo  Mensagem [Página 1 de 1]

kodo no kami

kodo no kami

Continuando o tutorial de pygame, nessa parte vamos aprender como desenhar formas geometricas na tela (quadrados, circulos, poligonos e etc). Para começar a brincar vamos refazer o codigo do tutorial anterior (vamos la se esforce para rescrever o codigo e não copiar ele, gambatte yooo \o ~ ps: o kodo é meio retardado)

Código:
#!/usr/bin/python

import pygame

pygame.init()

largura = (300,200)

janela = pygame.display.set_mode(largura)

while True:
   for evento in pygame.event.get():
      if evento.type == pygame.QUIT:
         pygame.quit()
         exit(0)

   janela.fill((255,255,255))   
   pygame.display.flip()

para desenhar essas formas geometricas vamos utilizar uma das classes especifica do pygame a classe draw (pygame.draw). A primeira forma que vamos desenhar é o quadrado/retangulo usando o metodo rect (pygame.draw.rect), passamos como argumento para ele a superficie onde vamos desenhar (no caso a nossa janela), a cor sendo uma tupla com 3 valores representando o RGB, uma lista com 4 valores sendo as posições X, Y e o tamanho de X e Y. No proximo exemplo eu criei um quadrado de dimensão 25x25 na posição 100x100 na janela

Código:
#!/usr/bin/python

import pygame

pygame.init()

largura = (300,200)

janela = pygame.display.set_mode(largura)

while True:
   for evento in pygame.event.get():
      if evento.type == pygame.QUIT:
         pygame.quit()
         exit(0)

   janela.fill((255,255,255))
   
   pygame.draw.rect(janela,(255,0,0),(100,100,25,25))
   
   pygame.display.flip()

[tutorial] pygame: desenhar formas geometricas #2 Z33hwY0

as vezes precisamos manipular a posição onde aquele determnado objeto é desenhando na tela, nesse caso precisamos usar variaveis e não passar valores estaticos como no exemplo anterior (podemos criar uma tupla/lista ou ate um dicionario para cada objeto do jogo ou um agrupado de tipos de objeto no jogo para ficar mais simples a manipulação por loops)

Código:
#!/usr/bin/python

import pygame

pygame.init()

largura = (300,200)
quadrado = [100,100,25,25]

janela = pygame.display.set_mode(largura)

while True:
   for evento in pygame.event.get():
      if evento.type == pygame.QUIT:
         pygame.quit()
         exit(0)

   janela.fill((255,255,255))
   
   pygame.draw.rect(janela,(255,0,0),quadrado)
   
   pygame.display.flip()

outra forma geometrica que podemos desenhar é o circulo usando o metodo circle (pygame.draw.circle), nesse metodo passamos como argumento a superficie onde vamos desenhar (no caso a janela), a cor RGB, as posições X e Y, e o por fim o raio

Código:
#!/usr/bin/python

import pygame

pygame.init()

largura = (300,200)

janela = pygame.display.set_mode(largura)

while True:
   for evento in pygame.event.get():
      if evento.type == pygame.QUIT:
         pygame.quit()
         exit(0)

   janela.fill((255,255,255))
   
   pygame.draw.circle(janela,(255,0,0),(150,100),30)
   
   pygame.display.flip()

[tutorial] pygame: desenhar formas geometricas #2 5tT7HY1

com o metodo line (pygame.draw.line) desenhamos uma linha, o seu argumento é a superficie onde vamos desenhar, o inicio sendo uma tupla com as posições X e Y, e o fim sendo uma tupla com as posições X e Y (vai ser traçado uma reta entre a posição inicio e fim)

Código:
#!/usr/bin/python

import pygame

pygame.init()

largura = (300,200)

janela = pygame.display.set_mode(largura)

while True:
   for evento in pygame.event.get():
      if evento.type == pygame.QUIT:
         pygame.quit()
         exit(0)

   janela.fill((255,255,255))
   
   pygame.draw.line(janela,(255,0,0),(100,100),(150,100))
   
   pygame.display.flip()

[tutorial] pygame: desenhar formas geometricas #2 Df6UhGF

a ultima forma geometrica que vamos brincar nesse tutorial é poligono (pygame.draw.polygon), diferente dos outros metodos nesse precisamos definir uma quantidade de pontos (sendo um agrupamento de tuplas X e Y), o primeiro argumento é a nossa superficie como sempre, o segundo argumento é uma tupla de tuplas X e Y (o legal que usando poligonos tu consegue criar algumas coisas 3D em cima do 2D apenas se baseando em profundidade e luminosidade)

Código:
#!/usr/bin/python

import pygame

pygame.init()

largura = (300,200)

janela = pygame.display.set_mode(largura)

while True:
   for evento in pygame.event.get():
      if evento.type == pygame.QUIT:
         pygame.quit()
         exit(0)

   janela.fill((255,255,255))
   
   pygame.draw.polygon(janela,(255,0,0),((100,100),(150,90),(160,120),(90,110)))
   
   pygame.display.flip()

[tutorial] pygame: desenhar formas geometricas #2 YSxfS7q

um exemplo da bandeira do brasil (ou alguma coisa semelhante a ela kkkk)

Código:
#!/usr/bin/python

import pygame

pygame.init()

largura = (300,200)

janela = pygame.display.set_mode(largura)

while True:
   for evento in pygame.event.get():
      if evento.type == pygame.QUIT:
         pygame.quit()
         exit(0)

   janela.fill((0,255,0))
   
   pygame.draw.polygon(janela,(255,255,0),((75,100),(150,50),(225,100),(150,150)))
   pygame.draw.circle(janela,(0,0,255),(150,100),20)
   pygame.draw.line(janela,(255,255,255),(130,100),(170,100))
   
   pygame.display.flip()

[tutorial] pygame: desenhar formas geometricas #2 BgZ8U2g

é possivel desenhar apenas um pixel na tela, so que isso não é feito pela classe draw e sim direito na superficie desejada usando o metodo set_at dela, nesse metodo passamos como argumento uma tupla com as posições X e Y e a cor desejada sendo uma tupla representando o RGB

Código:
#!/usr/bin/python

import pygame

pygame.init()

largura = (300,200)

janela = pygame.display.set_mode(largura)

while True:
   for evento in pygame.event.get():
      if evento.type == pygame.QUIT:
         pygame.quit()
         exit(0)

   janela.fill((0,255,0))
   
   janela.set_at((100,100),(255,255,0))
   
   pygame.display.flip()

[tutorial] pygame: desenhar formas geometricas #2 H3j5SyU

vamos desenhar um quadrado pixel a pixel

Código:
#!/usr/bin/python

import pygame

pygame.init()

largura = (300,200)

janela = pygame.display.set_mode(largura)

while True:
   for evento in pygame.event.get():
      if evento.type == pygame.QUIT:
         pygame.quit()
         exit(0)

   janela.fill((255,255,255))
   
   contx = 100
   while contx < 150:
      conty = 100
      while conty < 150:
         janela.set_at((contx,conty),(255,0,0))
         conty += 1
      contx += 1
   
   pygame.display.flip()

[tutorial] pygame: desenhar formas geometricas #2 LFCT0tv

é isso galera, então ate a parte #3 do tutorial \o

by kodo no kami

https://eofclub.in/forum

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos