Nome do projecto:
"Interactive Games"
Objectivos:
Este trabalho tem como objectivo por as pessoas a jogarem no computador, mas sem haver contacto físico com o hardware do mesmo, Ou seja, este jogo tem como objectivo deixar de se usar o rato para controlar a nave, fazendo assim com que a própria pessoa tenha, através da imagem capturada pela a web câm, o controlo total sobre a movimentação da mesma
Este Jogo irá fazer com que as pessoas se transformem nas suas próprias naves, fazendo assim com que estas sejam "presas ao grande ecrãn" em qualquer sitio onde se possa ter um computador.
Palavras Chaves:
Interaction With People, Interactive Visuals, Computer games
Sinopse
Este jogo irá ser colocado em todas as plataformas online e em diversos workshops de interactividade com pessoas, será uma entrada para para o ínicio dos jogos de realidade virtual sem que para isso tenhamos que possuir qualquer tipo de Joystick, teclado ou rato.
Ps:. Professor peço desculpa por não usar o google code mas não consegui percebe-lo e por isso mesmo comentei o código todo no processing.
domingo, 13 de fevereiro de 2011
sexta-feira, 11 de fevereiro de 2011
Expectativas a melhorar...
Aqui quero mostrar todas as expectativas futuras.
Sendo elas alterar o design dos váios objectos, do próprio fundo, pois queremos que o fundo seja animado...
Iremos querer criar um score, e vários tipos de dificuldade. Esta dificuldade pode ser posta pelo simples facto de um aumento de velocidade das bolas/naves inimigas.
(Falta algum texto)(mensagem inacabada.)
Sendo elas alterar o design dos váios objectos, do próprio fundo, pois queremos que o fundo seja animado...
Iremos querer criar um score, e vários tipos de dificuldade. Esta dificuldade pode ser posta pelo simples facto de um aumento de velocidade das bolas/naves inimigas.
(Falta algum texto)(mensagem inacabada.)
Código do Trabalho
PFont fontA; // Este factor define a variavel da Font
int sphereDiameter = 15;//diametro das circunferências
boolean shoot = false;
int menu = 1;
int randx()
{
return int(random(600));
}
int[] sphereXCoords = { randx(), randx(), randx(), randx(), randx() };
int[] sphereYCoords = { 0, 0, 0, 0, 0 };
PFont font; //variavel da fonte.
PImage a; //variavel da imagem de fundo
PImage img; //variável da imagem da nave
void setup() {
size(600, 620);//tamanho da janela
font = loadFont("CenturyGothic-32.vlw");//este factor faz o reconhecimento da font
a = loadImage("ceuestrelado.jpg"); // Aqui fazemos o upload da imagem de fundo
img = loadImage("nave.png"); //Aqui fazemos o upload da imagem da nave...
}
void draw() {
image(a, 0, 0); //dimensões/localização da imagem de fundo...
image(img, mouseX, mouseY ,50 ,50);//dimensões/localização da imagem "Nave"
fill(color(255,255,0));//cor do disparo
stroke(color(255,255,0));//cor do stroke do disparo
if(shoot=true)
{
sphereKiller(mouseX);
shoot =true;
}
sphereDropper();
gameEnder();
if(menu == 1){
background(0);
textFont(font, 32);
textAlign(CENTER);
text("Começar", 300, 250);
noLoop();
}
}
void keyPressed()
{
shoot = true;// dispara
}
void sphereDropper()
{
stroke(0);
fill(204,102,0);
for (int i=0; i<5; hit =" true;" i =" 0;">= (sphereXCoords[i]-sphereDiameter/2))&&
(shotX <= (sphereXCoords[i]+sphereDiameter/2)))
{
hit = true;
line(mouseX, 565, mouseX, sphereYCoords[i]); //linha que mostra o disparo
ellipse(sphereXCoords[i], sphereYCoords[i], //elipse que aparece no acto da
//destruição
sphereDiameter+50, sphereDiameter+50);// diametro da explosão
sphereXCoords[i] = randx();
sphereYCoords[i] = 0;
}
}
if(hit == false)// se neste factor pusser "true" em vez de "false" a linha fica
// invisível mas continua lá,
// continuamos sem ter controlo no disparo apenas ao click do
//rato
{
line(mouseX, 565, mouseX,0);
}
}
void gameEnder()
{
for (int i=1; i< 5; i++)
{
if(sphereYCoords[i]==600)// aki podemos dizer que quando as bolas tocarem
//nestas cordenadas o jogo acabou e parou nakele
//momento.
// o erro a corrigir aqui e que não queremos que o
//jogo pare mas sim que volte para o ínicio.
{
fill(color(255));
loop(); // se eu apagar ou disser "loop" em vez de "noLoop", este factor
//isto vai me primitir continuar a jogar mesmo que as bolas passem
//pela nave
}
}
}
// menu de inicio
void mouseClicked(){
if(menu==1){
loop();
menu = 0;
}}
Ps:. Este código necessita de ficheiros que se encontram na pasta data.
int sphereDiameter = 15;//diametro das circunferências
boolean shoot = false;
int menu = 1;
int randx()
{
return int(random(600));
}
int[] sphereXCoords = { randx(), randx(), randx(), randx(), randx() };
int[] sphereYCoords = { 0, 0, 0, 0, 0 };
PFont font; //variavel da fonte.
PImage a; //variavel da imagem de fundo
PImage img; //variável da imagem da nave
void setup() {
size(600, 620);//tamanho da janela
font = loadFont("CenturyGothic-32.vlw");//este factor faz o reconhecimento da font
a = loadImage("ceuestrelado.jpg"); // Aqui fazemos o upload da imagem de fundo
img = loadImage("nave.png"); //Aqui fazemos o upload da imagem da nave...
}
void draw() {
image(a, 0, 0); //dimensões/localização da imagem de fundo...
image(img, mouseX, mouseY ,50 ,50);//dimensões/localização da imagem "Nave"
fill(color(255,255,0));//cor do disparo
stroke(color(255,255,0));//cor do stroke do disparo
if(shoot=true)
{
sphereKiller(mouseX);
shoot =true;
}
sphereDropper();
gameEnder();
if(menu == 1){
background(0);
textFont(font, 32);
textAlign(CENTER);
text("Começar", 300, 250);
noLoop();
}
}
void keyPressed()
{
shoot = true;// dispara
}
void sphereDropper()
{
stroke(0);
fill(204,102,0);
for (int i=0; i<5; hit =" true;" i =" 0;">= (sphereXCoords[i]-sphereDiameter/2))&&
(shotX <= (sphereXCoords[i]+sphereDiameter/2)))
{
hit = true;
line(mouseX, 565, mouseX, sphereYCoords[i]); //linha que mostra o disparo
ellipse(sphereXCoords[i], sphereYCoords[i], //elipse que aparece no acto da
//destruição
sphereDiameter+50, sphereDiameter+50);// diametro da explosão
sphereXCoords[i] = randx();
sphereYCoords[i] = 0;
}
}
if(hit == false)// se neste factor pusser "true" em vez de "false" a linha fica
// invisível mas continua lá,
// continuamos sem ter controlo no disparo apenas ao click do
//rato
{
line(mouseX, 565, mouseX,0);
}
}
void gameEnder()
{
for (int i=1; i< 5; i++)
{
if(sphereYCoords[i]==600)// aki podemos dizer que quando as bolas tocarem
//nestas cordenadas o jogo acabou e parou nakele
//momento.
// o erro a corrigir aqui e que não queremos que o
//jogo pare mas sim que volte para o ínicio.
{
fill(color(255));
loop(); // se eu apagar ou disser "loop" em vez de "noLoop", este factor
//isto vai me primitir continuar a jogar mesmo que as bolas passem
//pela nave
}
}
}
// menu de inicio
void mouseClicked(){
if(menu==1){
loop();
menu = 0;
}}
Ps:. Este código necessita de ficheiros que se encontram na pasta data.
quinta-feira, 10 de fevereiro de 2011

Como se pode ver já consegui fazer com que a linha estivesse sempre visível no ecrã mas tal como disse apenas a pus invisível, pois agora apenas se vê quando embate contra algum objecto inimigo.
Ainda não consegui com que ela se pusesse novamente a ser accionada apenas com o click do rato. Já pensei em tentar com que ela fosse accionada ao carregar numa tecla mas mesmo assim também não consigo...
quarta-feira, 9 de fevereiro de 2011
Continuação do Projecto
Bem para já estamos a tentar resolver os erros mais simples, e em seguida iremos tratar dos erros mais graves, para já esperemos que com a vossa ajuda possamos corrigir tanto os pequenos como os grandes, que nos incomodam. e que fazem com que o nosso jogo não seja o pretendido.
Bem como já havia dito anteriormente contamos com a ajuda daqueles que saibam mais que nós para nos ajudarem...
Desde já o nosso obrigado..
Bem como já havia dito anteriormente contamos com a ajuda daqueles que saibam mais que nós para nos ajudarem...
Desde já o nosso obrigado..
Projecto Interactivo
Bem para já este é o nosso projecto... Desde que soubemos que poderíamos reutilizar um jogo que já ninguem se lembraria de jogar hoje em dia num jogo que viria a revolucionar o mundo da interactvidade, que decidimos apostar nisso...
Depois de alguma pesquisa foram estes os nossos resultados...


Como podemos verificar é aqui que começam a aparecer os nossos erros...
pois queremos que os disparos saiam da nave e parece que saiam do lado esquerdo da nave...
E a linha de disparo também não desaparece. Digo isto pois esta haveria de aparecer apenas quando nós clicássemos na tecla, mas esta mantém se lá mesmo quando não existe qualquer contacto com o rato.
(Espero poder ter a vossa ajuda pois eu já estou farto de dar a volta a "mioleira e não chego lá").
Depois de alguma pesquisa foram estes os nossos resultados...


Como podemos verificar é aqui que começam a aparecer os nossos erros...
pois queremos que os disparos saiam da nave e parece que saiam do lado esquerdo da nave...
E a linha de disparo também não desaparece. Digo isto pois esta haveria de aparecer apenas quando nós clicássemos na tecla, mas esta mantém se lá mesmo quando não existe qualquer contacto com o rato.
(Espero poder ter a vossa ajuda pois eu já estou farto de dar a volta a "mioleira e não chego lá").
Subscrever:
Mensagens (Atom)