Anuncios Google

ayuda


#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


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de copete23

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

 

 

 

Imagen de yaguarflofly

si es eso

Lo probare a ver si funciona. Lo he cambiado y no me funciona.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.