Anuncios Google

Suma variable dentro de un If

Pues me he puesto a hacer un homebrew y después de tener todo los gráficos y demas preparados y puestos y ya pensado como lo iva a hacer me ha dado un problemilla bastante tonto pero que no se arreglarlo por falta de experiencia. Bueno no me enrollo más el "código" es este:

// Includes
#include <PA9.h>       // Include for PA_Lib
int marcador=1;
 
// Function: main()
int main(int argc, char ** argv)
{
	PA_Init();    // Initializes PA_Lib
	PA_InitVBL(); // Initializes a standard VBL
	PA_InitText(0, 1);
	// Infinite loop to keep the program running
	while (1)
	{
	if(Pad.Newpress.Start){
	PA_OutputText(0, 7, 11, "%d", marcador);
	}
	//El problema es este ya que no se suma 1
	if(Pad.Newpress.A){
	   marcador+=1;
	}	
 
		PA_WaitForVBL();
	}
 
	return 0;
} // End of main

El problema si lo compiláis(no necesita gráficos) veréis como al crear la variable luego no se le suma 1 cuando pulsas A.

Salu2 y gracias de antemanoGuiño


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 The Dark Master

Si que le suma 1... Ten

Si que le suma 1... Ten cuidado que el Pad.Newpress.Start que solo te funcionara en el momento que lo acabas de pulsar, es mas, si pulsas A y luego Start repetidamente veras como lo que falla es el texto que no se actualiza, saca el texto de esa accion o ponle Held que es mientras Start es pulsado.


Imagen de Anabol

Pero claro para eso tengo

Pero claro para eso tengo que tener pulsado el Start y pulsar A para que sume pero yo en el homebrew lo tengo en vez de pulsar A pulso 1 sprite y luego lo borro asique no puedo dejar pulsado el sprite ya que lo tengo borrado.

No es mantenerlo pulsado, es

No es mantenerlo pulsado, es pulsar repetidamente el botón start.

 

Al menos como tu lo has puesto, es asi ^^.

Imagen de Anabol

Ya ya me refiero a si pongo

Ya ya me refiero a si pongo if Pad.Held.Start que es lo que me sugería pero de todas formas Tema Cerrado porque gracias a master-sonic lo haré de otra forma que me está echando un cable gracias a best-guitar por responder Salu2TS

Imagen de best_guitar

prueba

prueba

if(Pad.Newpress.Start){
PA_OutputText(0, 7, 11, "%d", marcador);
}
//El problema es este ya que no se suma 1
if(Pad.Newpress.A)||(PA_SpriteTouched(numeroDeSpriteQueTocas)) { // o pulsacion de A o tocar sprite
marcador+=1;
PA_OutputText(0, 7, 11, "%d", marcador);

}
Imagen de best_guitar

mejor dicho

if(Pad.Newpress.Start){
PA_OutputText(0, 7, 11, "%d", marcador);
}
//El problema es este ya que no se suma 1
if(Pad.Newpress.A)||(Stylus.Newpress){

  if (PA_SpriteTouched(numeroDeSpriteQueTocas)) { // o pulsacion de A o tocar sprite
    marcador+=1;
    PA_OutputText(0, 7, 11, "%d", marcador);
  }
}

 

 

por que si no, si mantienes la stylus pulsada el contador incrementa a cada scan de programa.

Saluds!

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.