si t ds une boucle, arette simplement d'afficher ton txt,
sinon efface le en blitant par dessus.
et la le mec il le pécho par le bras et il lui dit '
stele Le 30/04/2004 à 12:16 j'ai fait un gptextout pour affiche mon message mais je vois pas comment arrete d'afficher mon message
oups ^^'
ben soit ton prog est structuré comme ca :
while(1)
{
effacel'ecran() ;
gptxtout() ;
flipScreen() ;
}
si c comme ca, met un flag pour dire si tu va blitter ou non ton txt, change la valeur du flag qt tu lit les touches
sinon, affiche un rectangle, une image, ce que tu veut ... sur ton txt pour l'effacer.
et la le mec il le pécho par le bras et il lui dit '
stele Le 30/04/2004 à 12:21 Voila ma source j'ai fait comme ca:
#include <stdlib.h>
#include "gpdef.h"
#include "gpstdlib.h"
#include "gpgraphic.h"
#include "gpfont.h"
#include "gpmm.h"
#include "gpstdio.h"
/* global variable */
GPDRAWSURFACE gpDraw;
void GpMain(void * arg)
{
int k=0;
GpLcdSurfaceGet(&gpDraw,0);
while ( 1 )
{
k = GpKeyGet();
GpTextOut(NULL,&gpDraw,10,10,(char*)"appui sur select",0xe0);
if ( k == GPC_VK_SELECT )
GpTextOut(NULL,&gpDraw,50,50,(char*)"select",0xe0);
}
GpSurfaceSet(&gpDraw);
if ( !(GPC_LCD_ON_BIT & GpLcdStatusGet()) )
GpLcdEnable();
}
soit rajoute du code ds ton while pour tt le temps, effacer et flipper l'ecran, donc ton msg sera affiché juste qt select en enfoncé
sinon, fait comme ca :
if ( k == GPC_VK_SELECT ) GpTextOut(NULL,&gpDraw,50,50,(char*)"select",0xe0);
else gprectfill(...) ; // pour effacer soit l'ecran, soit la zone ou etait affiché ton txt
ou bien , fait ton gprectfill, qt c start qui est enfoncé ...
et la le mec il le pécho par le bras et il lui dit '
stele Le 30/04/2004 à 12:33 Oki le gprectfill je vois bien comment faire mais c'est pour flipper je viens d'essaye ca compile mais sous l'emulateur ca plante donc j'ai du faire une connerie :
#include <stdlib.h>
#include "gpdef.h"
#include "gpstdlib.h"
#include "gpgraphic.h"
#include "gpfont.h"
#include "gpmm.h"
#include "gpstdio.h"
/* global variable */
GPDRAWSURFACE gpDraw[2];
int nflip;
void GpMain(void * arg)
{
int k=0;
int l=0;
GpLcdSurfaceGet(&gpDraw[nflip],0);
nflip = 1;
while ( 1 )
{
k = GpKeyGet();
GpTextOut(NULL,&gpDraw[nflip],10,10,(char*)"appui sur select",0xe0);
if ( k == GPC_VK_SELECT )
GpTextOut(NULL,&gpDraw[nflip],50,50,(char*)"select",0xe0);
if ( l == GPC_VK_START)
{
GpSurfaceFlip(&gpDraw[nflip++]);
nflip &= 0x01;
}
GpSurfaceSet(&gpDraw[nflip]);
if ( !(GPC_LCD_ON_BIT & GpLcdStatusGet()) )
GpLcdEnable();
}
stele Le 30/04/2004 à 13:22 Bon pour ceux que ca interesse voici la source de ce que je viens de faire :
- ca affiche apuyer sur select qud on appui sur select cela affiche et lorsqu'on appui sur start ca efface le message select
voila :
#include <stdlib.h>
#include "gpdef.h"
#include "gpstdlib.h"
#include "gpgraphic.h"
#include "gpfont.h"
#include "gpmm.h"
#include "gpstdio.h"
/* global variable */
GPDRAWSURFACE gpDraw[2];
int nflip;
void GpMain(void * arg)
{
int k=0;
int i;
for ( i = 0 ; i < 2 ; i++)
{
GpLcdSurfaceGet(&gpDraw[i], i);
}
GpSurfaceSet(&gpDraw[0]);
nflip = 1;
while ( 1 )
{
/*GpRectFill(NULL, &gpDraw[nflip], 0, 0,320, 240, 0xff);*/
k = GpKeyGet();
GpTextOut(NULL,&gpDraw[nflip],10,10,(char*)"appui sur select",0xe0);
if ( k == GPC_VK_SELECT )
GpTextOut(NULL,&gpDraw[nflip],50,50,(char*)"select",0xe0);
GpSurfaceFlip(&gpDraw[nflip++]);
nflip &= 0x01;
if ( k == GPC_VK_START)
{
GpRectFill(NULL, &gpDraw[nflip], 0, 0,320, 240, 0xff);
GpTextOut(NULL,&gpDraw[nflip],10,10,(char*)"appui sur select",0xe0);
}
}
}
stele Le 30/04/2004 à 13:25 Pour ceux qui veulent essaye ma source :
moi j'arrive a compile avec devkitadanve et gp32ide ca marche trop bien , par contre si vous utilisé des sources deja faites pensez a regarde si il y a des commentaires styles (//commenaires) ca fait plante devkitadvance et ca compile pas voila
cordialement stele
Moi je travaille avec DevKitAdv et j'ai aucun pb pour les commentaires //
Par contre stele ton code est vachement compliqué. Il a même une erreur au niveau de GpLcdSurfaceGet().
Voilà ma solution:
#include "gpdef.h"
#include "gpstdlib.h"
#include "gpgraphic.h"
#include "gpfont.h"
#include "gpmm.h"
#include "gpstdio.h"
/* global variable */
GPDRAWSURFACE gpDraw[2];
int nflip;
void GpMain(void * arg)
{
int k=0;
int select=0;
GpLcdSurfaceGet(&gpDraw[0], 0);
GpLcdSurfaceGet(&gpDraw[1], 1);
GpSurfaceSet(&gpDraw[0]);
nflip = 1;
while ( 1 )
{
GpRectFill(NULL, &gpDraw[nflip], 0, 0 ,320, 240, 0xff);
GpTextOut(NULL, &gpDraw[nflip], 10, 10, (char*) "appui sur select", 0xe0);
if ( select )
GpTextOut(NULL, &gpDraw[nflip], 50, 50, (char*) "select", 0xe0);
GpSurfaceFlip(&gpDraw[nflip++]);
nflip &= 0x01;
k = GpKeyGet();
if ( k & GPC_VK_SELECT )
select = 1;
if ( k & GPC_VK_START )
select = 0;
}
}
Au fait, d'aprés ce que j'ai lu sur GP32 Xtreme il faut enlever l'option -ansi dans le makefile pour pouvoir utiliser les commentaires du style //