Anuncios Google

[C]Ayuda con las unidades caracteres(pspDebugScreenSetXY)[C]

Hola, bien, he estado programando algunas cosillas(sencillas), ahorita he estaod jugando con la pspdebug y esas cosas de texto, bien, me he dado cuenta que la funcion pspDebugScreenSetXY(); nos deja poner donde mostremos el texto, ok, ahora he echo esto:

//Mi primer ocultador by B77
 
#include <pspdisplay.h>
#include <pspctrl.h>
#include <pspkernel.h>
#include <pspdebug.h>
#include <pspgu.h>
#include <png.h>
#include <stdio.h>
#include <pspthreadman.h>
#include "graphics.h"
 
#define printf pspDebugScreenPrintf
#define MAX(X, Y) ((X) > (Y) ? (X) : (Y))
 
PSP_MODULE_INFO("MI PRIMER OCULTADOR",0,1,0); //Definimos el nombre del modulo
 
//Los CallBacks
 
/* Llamada de salida */
int exit_callback(int arg1, int arg2, void *common) {
          sceKernelExitGame();
          return 0;
}
 
/* Llamada thread */
int CallbackThread(SceSize args, void *argp) {
          int cbid;
 
          cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
          sceKernelRegisterExitCallback(cbid);
 
          sceKernelSleepThreadCB();
 
          return 0;
}
 
/* Configura llamada thread y vuelve a su thread id */
int SetupCallbacks(void) {
          int thid = 0;
 
          thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
          if(thid >= 0) {
                    sceKernelStartThread(thid, 0, 0);
          }
 
          return thid;
} 
 
void inicio(){
                 SceCtrlData pad; //Variable pad, contiene el llenado de pulsaciones de botones :D
				 pspDebugScreenSetXY(40,40);
				 printf("Hola");
                     while(1){
							  sceCtrlReadBufferPositive(&pad,1); //Ahora, la variable pad contendra loos estados de pulsación de los botones, 1 es el numero de buffers a leer             
                 if(pad.Buttons & PSP_CTRL_CROSS){ //Si se presiona X;
                                pspDebugScreenClear(); //Limpia la pantalla
                                }
                 } //Cerramos el loop(while o bucle)
}  //Cerramos la funcion
 
int main(){
	pspDebugScreenInit();
	initGraphics();
    SetupCallbacks(); //Los callbacks
    inicio(); //Lllamamos a inicio
    return 0; //que retorne 0
} //Cerramos el main
 
 

(OJO: hay unas librerias que no deberian de estar, pero bueh, los dejo porque insisto estoy jugando).

Lo raro, esque no me lo blitea en la cordenada 40,40, también lo he bliteado en las cordenadas 100,100, pero este me lo blitea(el texto) en las cordenadas 10,10.

He visto otra funcion, muy util, de la libreria graphics, cuyo nombre es printTextScreen(x,y,"String",colorenhexadecimalconconversión);, es muy útil, pero por ejemplo, si presiono X que borre el texto, pero a la hora de mostrar el otro texto(con flipScreen();), me muestra también el otro texto que ya había borrado.

Algo que ví, esque dicen que en la funcion que dejo en el code de arriba, debo de usar unidades caracteres, tengo entendido son numeros,no?, lo que no entiendo es, porque me lo blitea donde no?.

Saludos y gracias de antemano.


Anuncios Google