› Foros › Multiplataforma › Desarrollo
Darkangelus escribió:Lo que estaría bien es que dejaran codigo, así se aprende más rápido
kYp escribió:A mi tambien me interesa, he llegado a poner una imagen con graphics.h en un programita que me estoy haciendo pero claro si pongo la imagen me desaparece el texto del programa que pongo utilizando pspdebug.h
Alguien sabe algo por farvor ¿?
#include <pspdisplay.h>
#include <pspctrl.h>
#include <pspkernel.h>
#include <pspdebug.h>
#include <pspgu.h>
#include <png.h>
#include <stdio.h>
#include "graphics.h"
PSP_MODULE_INFO("Ejemplo", 0, 1, 1);
int fin = 0;
int exit_callback(int arg1, int arg2, void *common) {
fin = 1;
return 0;
}
int CallbackThread(SceSize args, void *argp) {
int cbid;
cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
sceKernelRegisterExitCallback(cbid);
sceKernelSleepThreadCB();
return 0;
}
int SetupCallbacks(void) {
int thid = 0;
thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
if(thid >= 0) {
sceKernelStartThread(thid, 0, 0);
}
return thid;
}
int main()
{
Image* fondo = NULL;
pspDebugScreenInit();
SetupCallbacks();
initGraphics();
if((fondo = loadImage("./fondo.png")) == NULL) sceKernelExitGame();
// Mientras no se pulse el boton Home:
while(!fin){
// Se pinta la imagen de fondo cargada antes.
blitImageToScreen(0, 0, 480, 272, fondo, 0, 0);
printTextScreen(30, 30, "Este texto aparece sobre el fondo", (u32)0xff000000);
// Se intercambian los buffers.
flipScreen();
// Se espera al retrazo vertical.
sceDisplayWaitVblankStart();
}
sceKernelExitGame();
return 0;
}
kYp escribió:Gusvo me referia que si uso la graphics no puedo usar la pspdebug para imprimir texto
kYp escribió:puedes explicar flipScreen(); ¿? esque me esta dando problemas de que me aparecezca el texto al pulsar alguna opcion del menu que hice ya que alomejor selecciono la Opcion1 y no sale el texto q tendria que salir y en el menu se me selecciona la de antes y me sala el texto que tendria que salir cada dos pulsaciones en la cruzeta para moverme por el menu . Ya que para que aparezca el texto necesito poner flipScreen(); no ¿?
kYp escribió:y no doy borrado la pantalla por que no doy usado: clearScreen(Color color); no se en que se pone el valor ya que en u32 no tira
void clearScreen(Color color)
{
if (!initialized) return;
guStart();
sceGuClearDepth(0);
sceGuClear(GU_COLOR_BUFFER_BIT|GU_DEPTH_BUFFER_BIT);
sceGuFinish();
sceGuSync(0, 0);
}
void clearScreen(Color color)
{
if (!initialized) return;
guStart();
// Indicamos el color con el que queremos borrar:
sceGuClearColor(color);
sceGuClearDepth(0);
sceGuClear(GU_COLOR_BUFFER_BIT|GU_DEPTH_BUFFER_BIT);
sceGuFinish();
sceGuSync(0, 0);
}
while(!fin){
// Borrado del fondo en color blanco:
clearScreen(0xffffffff);
// Se pinta la imagen de fondo cargada antes.
blitImageToScreen(0, 0, 480, 272, fondo, 0, 0);
printTextScreen(30, 30, "Este texto aparece sobre el fondo", (u32)0xff000000);
// Se intercambian los bufferes.
flipScreen();
// Se espera al retrazo vertical.
sceDisplayWaitVblankStart();
}
kYp escribió:Pero sobre flipScreen si lo que hace es intercambiar el buffer de texto y imagen para que se vean las dos cosas al mismo tiempo texto e imagen ( eso es lo que entendi ) , por que cada vez que escribo algo tengo que pasarle flipScreen(); para que se muestre en pantalla ¿?