Trabalhei como comunicador visual na comissão de comunicação do programa de aprendizagem cooperativa em células estudantis PACCE na propria UFC. Hoje sou editor de vídeos do Laboratório de Mídias Eletrônicas (LME), também vinculado a UFC.
Criando um joguinho simples e bugado no Processing
Olá pessoal, hoje vamos ver como da até para criar joguinhos simples com o Processing. Como ainda não estou muito expert no Processing, ele será bem simples,e seguindo os contextos físicos e matemáticos do movimento retilíneo uniforme e movimento retilíneo uniformemente variável. E com algumas coisinhas simples do Processing como o de clicar com o mouse vamos fazer com que a ideia de uma bolinha seguirá da parte de baixo da tela para cima usando os preceitos físicos descritos acima, e ele tem que atingir um retângulo que aparecerá aleatoriamente na tela.
Então o código fica mais ou menos assim como esta a baixo no botão:
float dy; //distancia em y
float t=0; //tempo inicial
float vyi=80; //velocidade inicial em y
float vyf; //velocidade final em y
float a=-9.8; // aceleração da gravidade
float largura; // largura da tela
float altura; // altura da tela
float dx; //distancia em x
float vx=60; //velocidade em x
int md; //modulo da distancia de y
int mt; //modulo do tempo
int mv; //modulo da velocidade inicial em y
int mvt; //modulo da velocidade final em y
float x; // eixo x onde o mouse clicará
float y; // y inicial da bola
float xr; // valor random de x do alvo
float yr; // valor random de y do alvo
//função movimento retilineo uniformemente variavel
void moveBolaMRUV(){
dy=vyi*t + a*(t*t)/2;
vyf=vyi+a*t;
ellipse(x + dx,y-dy,20,20);
}
void mouseClicked(){
x = mouseX;
y = height;
dy = 0;
dx = 0;
t = 0;
}
// função movimento retilineo uniforme
void moveBolaMRU(){
dx=vx*t;
}
void setup(){
frameRate(10);
size(600,600);
largura = width;
altura = (height);
xr = random(0, width);
yr = random(0, height);
}
void draw(){
background(125);
moveBolaMRUV();
moveBolaMRU();
t=t+0.1;
rect(xr, yr, 65, 65);
md = int(dy);
mt = int(t);
mv = int(vyi);
mvt = int(vyf);
text("DISTANCIA :"+md,40,50);
text("TEMPO :"+ mt,40,80);
text("VELOCIDADE INST.:"+ mvt,40,110);
}
Como ainda estou em estudos da linguagem do Processing, eu não sei como por na sua sintaxe a codificação para colisões, então em uma próximo encontro teremos esse joguinho com as suas correções devidas.
Sou - Samuel Lincoln -
Sou um aluno do Curso de Sistemas e Mídias Digitais da Universidade Federal do Ceará (UFC). Já estudei Matemática (bacharelado) e Matemática industrial, na mesma universidade. Trabalho como editor de vídeos do Laboratório de Mídias Eletrônicas, vinculada a Universidade Virtual (vinculada a UFC).