Posté le 30/07/2021 23:01
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 270 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 30/07/2021 23:19 | #
ML_display_vram() is used to display the current data in the vram on to the display
ML_clear_vram() clears all the data in the vram
(vram is just a section of memory that is commonly used for storaging the pixels for the display)
you try the default builtin functions Bdisp_PutDisp_DD() and Bdisp_AllClr_VRAM()
Also depending on which calculator you have, IsKeyDown() won't work because the software and hardware is different to that of the emulator
And all display functions don't work correctly on some calculators as well
(there are fixes for both)
Can you send us a copy of your code please?
Citer : Posté le 31/07/2021 08:32 | #
Salut ! Il n'y a pas d'arnaque normalement, appeler ML_display_vram() ou Bdisp_PutDisp_DD() rafraîchit l'écran quoi qu'il arrive.
Deux pistes de recherche :
Bon courage
Citer : Posté le 31/07/2021 10:07 | #
Merci encore pour les réponses!
Il faut croire que la nuit porte conseil, l'erreur était sous mon nez depuis le début:
C'est la fonction GetKey(&key) qui bloque la vram à chaque exécution de la boucle while(1).
Cependant autre question alors, comment faire en sorte que la vram ne se bloque pas?
Voici le code pour ceux qui sont intéressés:
{
unsigned int key;
Objects[0] = Cube;
Scene[0] = Obj_1;
while(1)
{
if(IsKeyDown(KEY_CTRL_UP))
{
CamPos.x+=CamZ.x*5;
CamPos.y+=CamZ.y*5;
CamPos.z+=CamZ.z*5;
}
else if(IsKeyDown(KEY_CTRL_DOWN))
{
CamPos.x-=CamZ.x*5;
CamPos.y-=CamZ.y*5;
CamPos.z-=CamZ.z*5;
}
else if(IsKeyDown(KEY_CTRL_RIGHT))
{
RotateCamZ(0.1);
}
else if(IsKeyDown(KEY_CTRL_LEFT))
{
RotateCamZ(-0.1);
}
Frame();
GetKey(&key);
}
return 1;
}
Citer : Posté le 31/07/2021 13:07 | #
Ce n'est pas la VRAM qui est bloquée, c'est le programme tout entier. Si tu veux éliminer GetKey(), il suffit de ne le pas l'appeler et de réguler la vitesse du programme avec un timer.