#ifndef APLICACION1_H
#define APLICACION1_H
/* vamos a hacer una funcion que nos va a indicar el estado en el que
esta el programa (si se mueve, si esta seleccionado, si esta abierto...)
y lo que ocurre cuando se abre*/
void App1(void);
// estado es una variable que usaremos como si fuera un booleano
// abierto un booleano.
u16 estado = 0;
bool abierto = false;
// variables que usaremos dentro de nuestra sub-aplicacion
u8 colL = 1;
u8 colR = 1;
u8 colA = 1;
u8 colB = 1;
u8 colX = 1;
u8 colY = 1;
u8 colAr = 1;
u8 colAb = 1;
u8 colIz = 1;
u8 colDe = 1;
void App1(void){
// si tocamos el sprite y el estado es 0 (0 sin seleccionar, 1 seleccionado) y esta cerrado...
if((Stylus.Newpress) && (PA_SpriteTouched(0)) && (estado == 0) && (abierto == false))
{
// lo animamos
PA_SetSpriteAnim(0,0,1);
// esta seleccionado
estado = 1;
}
// si volvemos a tocarlo se abre
else if((Stylus.Newpress) && (PA_SpriteTouched(0)) && (estado == 1) && (abierto == false))
{
// lo animamos como que ya lo hemos abierto
PA_SetSpriteAnim(0,0,0);
// cramos la ventana y le ponemos el nombre(funciones.h)
nuevaventana("Aplicacion 1");
// esta seleccionado
estado = 0;
// y abierto
abierto = true;
}
// si tocamos la pantalla pero no el sprite y esta seleccionado solo...
else if((Stylus.Newpress) && (estado == 1)){
// le volvemos a animar al frame primero
PA_SetSpriteAnim(0,0,0);
// sin seleccionar
estado = 0;
}
// si esta abierto...
if ((abierto == true)){
//----------------------------------------
// Aquí vamos a meter el codigo de la aplicacion en si
// Mostraremos la posicion del stylus dentro de la ventana, y checkeara si pulsamos algun boton
////----------------------------------------
// ponemos color azul para ese "enunciado"
PA_SetTextTileCol(0, 3);
PA_OutputText(0, 2, 4, "Test stylus:");
// ponemos la posicion del stylus en verde
PA_SetTextTileCol(0, 2);
PA_OutputText(0, 2, 6,"Stylus X: %d ", Stylus.X);
PA_OutputText(0, 2, 7,"Stylus Y: %d ", Stylus.Y);
// otro "enunciado"
PA_SetTextTileCol(0, 3);
PA_OutputText(0, 17, 4, "Test botones:");
// ponemos variables en todos los colores (una para rojo/sinpulsar y otra verde/pulsado)
PA_SetTextTileCol(0, colL);
PA_OutputText(0, 17, 6, "L");
PA_SetTextTileCol(0, colR);
PA_OutputText(0, 25, 6, "R");
PA_SetTextTileCol(0, colA);
PA_OutputText(0, 17, 8, "A");
PA_SetTextTileCol(0, colB);
PA_OutputText(0, 25, 8, "B");
PA_SetTextTileCol(0, colX);
PA_OutputText(0, 17, 9, "X");
PA_SetTextTileCol(0, colY);
PA_OutputText(0, 25, 9, "Y");
PA_SetTextTileCol(0, colAr);
PA_OutputText(0, 17, 11, "Arriba");
PA_SetTextTileCol(0, colAb);
PA_OutputText(0, 25, 11, "Abajo");
PA_SetTextTileCol(0, colIz);
PA_OutputText(0, 17, 13, "Izquierda");
PA_SetTextTileCol(0, colDe);
PA_OutputText(0, 17, 14, "Derecha");
//----------------------------------------
}
//-------------------------------------------------
// AQUI METEREMOS LOS IFS DE NUESTRA SUB_APLICACION
//-------------------------------------------------
//si dejamos pulsado L...
if ((Pad.Held.L)){
colL = 2; // se pone de color verde
}
// si la soltamos...
else if ((Pad.Released.L)){
colL = 1; // se vuelve roja
}
// lo mismo con el R...
if ((Pad.Held.R)){
colR = 2;
}
else if ((Pad.Released.R)){
colR = 1;
}
// lo mismo con la A
if ((Pad.Held.A)){
colA = 2;
}
else if ((Pad.Released.A)){
colA = 1;
}
// lo mismo con el B
if ((Pad.Held.B)){
colB = 2;
}
else if ((Pad.Released.B)){
colB = 1;
}
// lo mismo con el x
if ((Pad.Held.X)){
colX = 2;
}
else if ((Pad.Released.X)){
colX = 1;
}
// lo mismo con la Y
if ((Pad.Held.Y)){
colY = 2;
}
else if ((Pad.Released.Y)){
colY = 1;
}
// lo mismo con Arriba
if ((Pad.Held.Up)){
colAr = 2;
}
else if ((Pad.Released.Up)){
colAr = 1;
}
// lo mismo con Abajo
if ((Pad.Held.Down)){
colAb = 2;
}
else if ((Pad.Released.Down)){
colAb = 1;
}
// lo mismo con Izquierda
if ((Pad.Held.Left)){
colIz = 2;
}
else if ((Pad.Released.Left)){
colIz = 1;
}
// lo mismo con Derecha
if ((Pad.Held.Right)){
colDe = 2;
}
else if ((Pad.Released.Right)){
colDe = 1;
}
//-------------------------------------------------
//-------------------------------------------------
// CERRAMOS LA APLICACION
//-------------------------------------------------
// si cerramos la aplicación...
if ((abierto == true) && PA_SpriteTouched(9)){
// llamamos a la funcion que cierra(funciones.h)
cerrar();
// esta cerrado
abierto = false;
}
//-------------------------------------------------
}
#endif
como dice el titulo necesito ayuda me gustaria saber que tengoo que
cambiar de este codigo para que funcione con otro sprite para los que
no me entiendadn yo tengo mi homebrew con dos iconos pero con numeros
de sprite diferentes uno tiene el 0 y el otro el 1 y al pulsar el
sprite con el numero cero se abre una funcion pero cuando pulso el
sprite numero uno no hace nada por esp quiero cambiar este codigo para
que los dos hagan una funcion y no se que tengo que cambiar de este
codigo porque se que es de este codigo por favor ayudarme
contestar.Saludos
http://tefox.zobyhost.com Twitter: @yaguat
Pues no se, no me queda muy
Pues no se, no me queda muy claro donde está tu problema.
si tu tu tienes dos sprites, 0 y 1, y quieres que al pulsar cada un de ellos llame a una funcion diferente, tendrias que hacer algo como esto.
if(PA_SpriteTouched(0))//si tocas el sprite0
{
funcion(); //ejecutar la funcion que quieras
}
if(PA_SpriteTouched(1)) // si tocas el sprite 1
{
funcion2(); // ejecutar la funcion que quieras
}
si es esto lo que decias, espero que te ayude
un saludo
Mi blog: http://creandomisvideojuegos.blogspot.com
si es eso
Lo probare a ver si funciona. Lo he cambiado y no me funciona.