Primeira importação
|
@ -0,0 +1,8 @@
|
||||||
|
__pycache__/
|
||||||
|
|
||||||
|
site/
|
||||||
|
|
||||||
|
.env
|
||||||
|
.venv
|
||||||
|
env
|
||||||
|
venv
|
|
@ -0,0 +1,44 @@
|
||||||
|
# Animaivos
|
||||||
|
|
||||||
|
Bem-vindo ao repositório do projeto Animaivos!
|
||||||
|
|
||||||
|
## Descrição
|
||||||
|
|
||||||
|
O projeto Animaivos é uma aplicação desenvolvida para fazer animações [...].
|
||||||
|
|
||||||
|
## Funcionalidades
|
||||||
|
|
||||||
|
- asdfasdf
|
||||||
|
|
||||||
|
## Tecnologias Utilizadas
|
||||||
|
|
||||||
|
- Linguagem de Programação: Python
|
||||||
|
- Biblioteca: turtle
|
||||||
|
|
||||||
|
## Como Executar o Projeto
|
||||||
|
|
||||||
|
1. Clone o repositório:
|
||||||
|
```bash
|
||||||
|
git clone https://gitea.mange.ifrn.edu.br/MATRICULA/animaivos.git
|
||||||
|
```
|
||||||
|
2. Navegue até o diretório do projeto:
|
||||||
|
```bash
|
||||||
|
cd animaivos
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Execute o arquivo principal da animação:
|
||||||
|
```bash
|
||||||
|
python main.py
|
||||||
|
```
|
||||||
|
|
||||||
|
## Contribuição
|
||||||
|
|
||||||
|
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e enviar pull requests.
|
||||||
|
|
||||||
|
## Licença
|
||||||
|
|
||||||
|
Este projeto está licenciado sob a licença MIT. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.
|
||||||
|
|
||||||
|
## Contato
|
||||||
|
|
||||||
|
Para mais informações, entre em contato com [NOME.SOBRENOME@escolar.ifrn.edu.br](NOME.SOBRENOME@escolar.ifrn.edu.br).
|
|
@ -0,0 +1,73 @@
|
||||||
|
"""
|
||||||
|
Módulo principal
|
||||||
|
"""
|
||||||
|
|
||||||
|
import turtle
|
||||||
|
|
||||||
|
from pacote.nucleo import carrega_img_fundo, carrega_personagens, fala
|
||||||
|
|
||||||
|
# Do módulo menus, do pacote ______, import o menu_principal
|
||||||
|
from pacote.menus import menu_principal
|
||||||
|
|
||||||
|
def cena_demo():
|
||||||
|
"""Cena de demonstração."""
|
||||||
|
turtle.setup(1110, 694)
|
||||||
|
carrega_img_fundo("fundo-com-degraus.png")
|
||||||
|
|
||||||
|
# Renomei a função seguindo o padrao <cena_descricao_breve_cena>
|
||||||
|
def cena1():
|
||||||
|
"""
|
||||||
|
Descrição da cena 1
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Renomei a função seguindo o padrao <cena_descricao_breve_cena>
|
||||||
|
def cena2():
|
||||||
|
"""
|
||||||
|
Descrição da cena 2
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Renomei a função seguindo o padrao <cena_descricao_breve_cena>
|
||||||
|
def cena3():
|
||||||
|
"""
|
||||||
|
Descrição da cena 3
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Renomei a função seguindo o padrao <cena_descricao_breve_cena>
|
||||||
|
def cena4():
|
||||||
|
"""
|
||||||
|
Descrição da cena 4
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
# Função principal
|
||||||
|
def main():
|
||||||
|
carrega_personagens()
|
||||||
|
print("Os seguintes personagens foram carregados:")
|
||||||
|
formas_gif = [forma for forma in turtle.getshapes() if forma.endswith('.gif')]
|
||||||
|
print('\n'.join(formas_gif))
|
||||||
|
|
||||||
|
op = int(input(menu_principal))
|
||||||
|
while op != 5:
|
||||||
|
if op == 1:
|
||||||
|
cena1()
|
||||||
|
elif op == 2:
|
||||||
|
cena2()
|
||||||
|
elif op == 3:
|
||||||
|
cena3()
|
||||||
|
elif op == 4:
|
||||||
|
cena4()
|
||||||
|
else:
|
||||||
|
print("Opção inválida.")
|
||||||
|
|
||||||
|
op = int(input(menu_principal))
|
||||||
|
|
||||||
|
# turtle.done()
|
||||||
|
|
||||||
|
# Chamada da função principal
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Imagens de fundo
|
||||||
|
|
||||||
|
Procure imagens de fundo que tenham obstáculos. Por exemplo, você pode pesquisar no Google por <https://www.google.com/search?q=super+mario+bros+2d+background>.
|
||||||
|
|
After Width: | Height: | Size: 493 KiB |
|
@ -0,0 +1,14 @@
|
||||||
|
menu_principal = """\
|
||||||
|
|
||||||
|
Animação de Fulano, Beltrano e Sicrano
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Listagem de cenas:
|
||||||
|
|
||||||
|
1. Cena 1
|
||||||
|
2. Cena 2
|
||||||
|
3. Cena 3
|
||||||
|
4. Cena 4
|
||||||
|
5. Sair
|
||||||
|
|
||||||
|
Escolha sua opção: """
|
|
@ -0,0 +1,64 @@
|
||||||
|
from glob import glob
|
||||||
|
import os
|
||||||
|
import time
|
||||||
|
import turtle
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
# Configurações do balão
|
||||||
|
global balao
|
||||||
|
balao = turtle.Turtle()
|
||||||
|
balao.hideturtle()
|
||||||
|
balao.down()
|
||||||
|
|
||||||
|
def carrega_personagens():
|
||||||
|
"""Carrega os personagens da animação.
|
||||||
|
|
||||||
|
Carrega os personagens da animação, que são arquivos .gif
|
||||||
|
presentes no diretório 'personagens' do pacote.
|
||||||
|
"""
|
||||||
|
|
||||||
|
cam_personagens = Path(__file__).parent / "personagens"
|
||||||
|
cam_atual = Path.cwd()
|
||||||
|
|
||||||
|
os.chdir(cam_personagens.as_posix())
|
||||||
|
for img in glob("*.gif"):
|
||||||
|
turtle.register_shape(img)
|
||||||
|
|
||||||
|
os.chdir(cam_atual.as_posix())
|
||||||
|
|
||||||
|
def fala(personagem: turtle.Turtle,
|
||||||
|
texto: str,
|
||||||
|
angulo: int = 45,
|
||||||
|
distancia: int = 150,
|
||||||
|
tempo: float = 5):
|
||||||
|
"""Exibe um balão de fala para um personagem.
|
||||||
|
|
||||||
|
Exibe um balão de fala para um personagem, com o texto
|
||||||
|
passado como parâmetro, em um ângulo e distância específicos.
|
||||||
|
"""
|
||||||
|
|
||||||
|
x,y = personagem.pos()
|
||||||
|
balao.goto(x, y)
|
||||||
|
balao.left(angulo)
|
||||||
|
balao.forward(distancia)
|
||||||
|
balao.write(fala)
|
||||||
|
time.sleep(tempo)
|
||||||
|
balao.undo()
|
||||||
|
balao.undo()
|
||||||
|
balao.undo()
|
||||||
|
|
||||||
|
def carrega_img_fundo(img_fundo: str):
|
||||||
|
"""Carrega uma imagem de fundo para a tela.
|
||||||
|
|
||||||
|
Carrega uma imagem de fundo para a tela, que é um arquivo .gif
|
||||||
|
presente no diretório 'fundos' do pacote.
|
||||||
|
"""
|
||||||
|
|
||||||
|
cam_img_fundo = Path(__file__).parent / "fundos" / img_fundo
|
||||||
|
|
||||||
|
if cam_img_fundo.exists() and cam_img_fundo.is_file():
|
||||||
|
turtle.bgpic(cam_img_fundo.as_posix())
|
||||||
|
else:
|
||||||
|
print(cam_img_fundo.as_posix())
|
||||||
|
print('Imagem de fundo não encontrada!')
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# Personagens
|
||||||
|
|
||||||
|
Você pode acrescentar seus próprios personagens. Lembre-se somente de colocar imagens no formato GIF e que tenham o fundo transparente.
|
||||||
|
|
||||||
|
Há um catálogo de imagens GIF de animais disponível em <https://github.com/jurandysoares/manima/tree/main/manima/images/animal>. Escolha as que lhe agradar e acrescente-as a este diretório.
|
||||||
|
|
After Width: | Height: | Size: 690 B |
After Width: | Height: | Size: 453 B |
After Width: | Height: | Size: 659 B |
After Width: | Height: | Size: 696 B |
After Width: | Height: | Size: 455 B |
After Width: | Height: | Size: 649 B |