Você está aqui: Python ::: Pygame ::: Linhas |
Como desenhar linhas em determinados ângulos no PygameQuantidade de visualizações: 765 vezes |
Nesta dica mostrarei como podemos desenhar linhas em determinados na biblioteca Pygame do Python. Note que criei um função que nos permite especificar as coordenadas x e y inicias, o ângulo de inclinação da linha e o seu comprimento, assim como a cor e sua largura. Eis o código Pygame completo e logo abaixo a imagem com a saída resultante: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar as bibliotecas necessárias import math import pygame, sys from pygame.locals import * # função personalizada que recebe as coordenadas x e y iniciais # da linha, seu comprimento, o ângulo, sua cor e sua largura e a desenha na # tela def desenhar_linha_angulo(x, y, comprimento, angulo, superficie, cor, largura): pygame.draw.line(superficie, cor, (x, y), ( (x + math.cos(angulo / 180.0 * math.pi) * comprimento), (y - math.sin(angulo / 180.0 * math.pi) * comprimento)), largura) # inicializa a biblioteca pygame.init() # obtém a superfície do jogo e define o tamanho da tela DISPLAYSURF = pygame.display.set_mode((500, 400), 0, 32) # vamos definir o título da janela do jogo pygame.display.set_caption('Como desenhar linhas em determinados ângulos no Pygame') # vamos criar algumas cores BRANCO = (255, 255, 255) VERMELHO = (255, 0, 0) AZUL = (0, 0, 255) VERDE = (0, 255, 0) # vamos pintar a tela toda de branco DISPLAYSURF.fill(BRANCO) # vamos chamar a função que desenha a linha em um determinado # ângulo. Vou pedir para desenhar três linhas, todas em ângulos diferentes desenhar_linha_angulo(100, 300, 300, 45, DISPLAYSURF, VERMELHO, 3) desenhar_linha_angulo(100, 300, 500, 75, DISPLAYSURF, VERDE, 5) desenhar_linha_angulo(100, 300, 250, -370, DISPLAYSURF, AZUL, 2) # e aqui nós entramos no loop do game while True: # monitoramos os eventos for evento in pygame.event.get(): # se o evento foi um pedido para sair if evento.type == QUIT: # fechamos a tela do jogo pygame.quit() # e saimos do programa sys.exit() # redesenha a tela continuamente pygame.display.update() Ao executarmos este código Pygame nós teremos o seguinte resultado: ![]() |
![]() |
Python ::: Tkinter GUI Toolkit ::: Círculos, Ovais e Elípses |
Como desenhar círculos no Tkinter usando a função create_oval() do componente CanvasQuantidade de visualizações: 1105 vezes |
Em várias situações nós precisamos desenhar círculos não preenchidos e preenchidos em Tkinter. Para isso nós podemos usar a função create_oval() do componente Canvas. Em sua forma mais simples, a função create_oval() requer as coordenadas x e y a partir das quais o círculo ou elípse será desenhada e a largura e a altura do retângulo dentro do qual o círculo estará contido. Para desenhar uma oval ou elípse, basta manipular a largura ou altura desse retângulo. Veja um trecho de código no qual usamos a função create_oval() para desenhar um círculo com 5 pixels de largura da linha de desenho: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar o módulo Tkinter from tkinter import * from tkinter.ttk import * # método principal def main(): # cria a janela principal da aplicação janela_principal = Tk() # define as dimensões da janela janela_principal.geometry("400x350") # define o título da janela janela_principal.title("Uso do controle Canvas") # vamos criar o objeto Canvas canvas = Canvas(janela_principal, bg="white", width=400, height=350) # colocamos o Canvas na janela principal canvas.grid(row=0, column=0) # agora vamos desenhar um círculo no Canvas começando nas # coordenadas x=20 e y=30 centro de um retângulo de largura # 150 pixels por uma altura de 150 pixels e largura da linha # de 5 pixels canvas.create_oval(20, 30, 150, 150, width="5") # entramos no loop de eventos janela_principal.mainloop() if __name__== "__main__": main() Note que a largura da linha de desenho foi informada por meio do parâmetro width. Se quisermos definir também a cor da linha do desenho, basta usarmos o parâmetro outline e fornecer a cor desejada. |
Python ::: Fundamentos da Linguagem ::: Passos Iniciais |
Como criar módulos de código reutilizável em PythonQuantidade de visualizações: 8490 vezes |
Uma das características da boa programação é reutilizar ao máximo códigos bem testados e independentes. A criação de módulos de funções e definições de classes em Python pode ser feita de forma bem simples. 1) Comece criando um arquivo chamado funcoes.py com o seguinte conteúdo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- """ Sou um módulo Python. A única funcionalidade que ofereço é uma função que soma dois números """ def somar(num1, num2): return (num1 + num2) 2) Salve este arquivo no diretório atual de sua aplicação e vamos importá-lo. Para isso escreva um novo programa. Uma sugestão é: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- """ Sou o programa principal e vou importar o módulo que contém a função somar """ import funcoes def main(): print(funcoes.somar(3, 5)) if __name__== "__main__": main() 3) Execute o programa e veja o resultado. Para que este programa funcione corretamente, é preciso que o módulo a ser importado esteja no diretório atual ou em qualquer um dos diretórios pesquisados pelo interpretador Python, geralmente representados pelo variável de ambiente PYTHONPATH. Porém, há situações que queremos agrupar nossos módulos em um diretório dentro do diretório principal da aplicação. O exemplo abaixo mostra como importar um módulo localizado no diretório "lib" da aplicação atual: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- """ Sou o programa principal e vou importar o módulo que contém a função somar() """ # importa o módulo sys import sys # acrescenta o diretório lib na variável # de ambiente PYTHONPATH sys.path.append(sys.path[0] + '\\lib') # pode importar funcoes no diretório lib import funcoes # pode chamar o método somar agora def main(): print(funcoes.somar(3, 5)) if __name__== "__main__": main() |
Python ::: Dicas & Truques ::: Lista (List) |
Apostila de Python - Como ordenar uma lista de inteiros em ordem crescente ou decrescente usando o método sort() do objeto List do PythonQuantidade de visualizações: 18104 vezes |
Nesta dica veremos como usar a função sort() do objeto List da linguagem Python para ordenar um vetor de inteiros em ordem crescente ou decrescente. Veja que, para ordenar o vetor em ordem descrecente, tudo que fiz foi fornecer o valor "reverse=True" para a função sort(). Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- def main(): # cria uma lista de inteiros valores = [2, 5, 12, 2, 3, 32, 18] # exibe a lista na ordem original print(valores) # ordena a lista em ordem crescente valores.sort() # exibe a lista ordenada em ordem crescente print(valores) # ordena a lista em ordem decrescente valores.sort(reverse=True) # exibe a lista ordenada em ordem decrescente print(valores) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: [2, 5, 12, 2, 3, 32, 18] [2, 2, 3, 5, 12, 18, 32] [32, 18, 12, 5, 3, 2, 2] |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
Java - Como remover itens repetidos de uma ArrayList usando um objeto da classe LinkedHashSet do Java |
Códigos Fonte |
![]() Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
![]() Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |