**Le SDK pour fx-9860/Graph85** Topic officiel
Posté le 18/07/2007 15:08
Vu la multitude de topics sur le SDK de la 85, j'ai décidé d'en faire un seul et unique, où l'on posera nos problèmes et explications sur ce même topic, et non pas sur 50, par souci de clareté et de facilité.
Des nouveautés ? Des problèmes ? Des idées ?
Exposez les ici !
Voici une liste de commandes commencées par Muelsaco. N'hésitez pas à rajouter vos commandes dans le topic je les rajouterai pour en faire profiter tout le monde. Merci.
// Locate X,Y,"Texte"
:arrow: locate(x,y); Print("Texte");
// Text X,Y,"Texte"
:arrow: PrintMini(x,y,"Texte",0);
// F-Line x1,y1,x2,y2
:arrow: Bdisp_DrawLineVRAM(x1,y1,x2,y2);
// Tracer une ligne blanche
:arrow: Bdisp_ClearLineVRAM(x1,y1,x2,y2);
// PxlOn x,y & PxlOff x,y
:arrow: Bdisp_SetPoint_VRAM(x,y,<couleur>)
<couleur> : 0 pour le blanc, 1 pour le noir
// Cls
:arrow: Bdisp_AllClr_DDVRAM();
// Actualiser l'écran
:arrow: Bdisp_PutDisp_DD();
Fonction très importante. Elle permet d'afficher une image tracée virtuellement dans la VRAM. Toute image doit d'abord être dessinée dans la VRAM puis affichée à l'écran. Vous ne verrez donc pas votre image s'afficher tant que vous n'aurez pas appelé Bdisp_PutDisp_DD(). À noter que les fonctions GetKey() et Print() l'appellent automatiquement.
While <exp1>
<code>
WhileEnd
:arrow:
while(<exp1>)
{
<code>
}
// StoPict x
:arrow: SaveDisp(x);
x variant de 1 à 3 uniquement.
// RclPict x
:arrow: RestoreDisp(x);
x variant de 1 à 3 uniquement.
// Ouvrir un popup (comme les erreurs syntaxe, etc)
:arrow: PopUpWin(<taille>);
<taille> : de 1 à 8.
Rappels sur les variables globales : Source
* Les variables globales sont à utiliser avec précaution, puisqu'elles créent des liens invisibles entre les fonctions. La modularité d'un programme peut en souffrir et le programmeur risque de perdre la vue d'ensemble.
* Il faut faire attention à ne pas cacher involontairement des variables globales par des variables locales du même nom.
* Le codex de la programmation défensive nous conseille d'écrire nos programmes aussi 'localement' que possible.
L'utilisation de variables globales est jusitifiée, si
* Plusieurs fonctions qui ne s'appellent pas ont besoin des mêmes variables, ou
* Plusieurs fonctions d'un programme ont besoin du même ensemble de variables. Ce serait alors trop encombrant de passer toutes les variables comme paramètres d'une fonction à l'autre.
Citer : Posté le 29/04/2012 20:08 | #
ben oui, c'est du 128*64, pour un menu
Il faut alors mieux utiliser memcpy
Escape prison
Bloxorz
Free wheel
QR code
Nombre en or
RayCasting Engine
Mario Party
Zelda
et Planète Casio
Citer : Posté le 29/04/2012 20:31 | #
CàD ?
voici mon bout de code:
ML_bmp_or(menu, 0, 0, 128, 64);
Ajouté le 29/04/2012 à 20:32 :
le sprite à été généré grâce à tiles creator
Citer : Posté le 29/04/2012 21:19 | #
Je ne vois pas le problème, ça fonctionne très bien.
Et comme le dit Purobaz, pour copier une image de 128px de large à l'abscisse 0, il est plus rapide d'utiliser memcpy.
Citer : Posté le 29/04/2012 22:15 | #
C'est une fonction officielle ?
S'en va voir dans la doc...
Citer : Posté le 29/04/2012 22:25 | #
C'est une fonction STANDARD (c'est à dire en théorie universelle)...
Citer : Posté le 29/04/2012 22:29 | #
Je ne l'ai pas trouvé dans la doc...
Va vérifier...
Si je ne trouve pas, tu pourras me mettre la syntaxe stp ?
Ajouté le 29/04/2012 à 22:35 :
Toujours rien...
Qqun peut me mettre la syntaxe ?
Citer : Posté le 29/04/2012 22:48 | #
memcpy
Citer : Posté le 29/04/2012 22:55 | #
Et comment vous l'utilisez ? Directement dans la VRAM ?
Si oui, je crois avoir compris
Ajouté le 01/05/2012 à 16:59 :
j\'ai compris, mais je n\'arrive pas à faire fonctionner ma fonction sans un \"SYSTEM ERROR\"
Vous pouvez me montrer comment la faire ?
merci d\'avance
Citer : Posté le 01/05/2012 17:02 | #
La VRAM est un buffer de 1024 octets. Ton image aussi. Donc ça semble évident :
Citer : Posté le 01/05/2012 17:03 | #
et dire que je me compliquais la vie comme un fou
en effet, c'est tout bête.
Merci
Ajouté le 01/05/2012 à 17:06 :
mon problème d\'affichage vient de l\'encodage: c\'est toujours pareil.
s\'en va coder son sprite autrement
Citer : Posté le 01/05/2012 17:25 | #
Comme je te l'ai dit, le bitmap de l'image du menu que tu as copié plus haut est correct.
Citer : Posté le 01/05/2012 17:28 | #
dans tout les cas, même avec ton utilitaire (find sprite in bitmap) j'ai le même résultat...
Citer : Posté le 01/05/2012 18:28 | #
Essaye de le coder avec Photo-Casio.
Sinon, envoie le sprite.
Escape prison
Bloxorz
Free wheel
QR code
Nombre en or
RayCasting Engine
Mario Party
Zelda
et Planète Casio
Citer : Posté le 01/05/2012 18:46 | #
la dernière version code pour le SDK ?
ok
Citer : Posté le 01/05/2012 18:54 | # | Fichier joint
j'ai essayé, mais c'est codé de maniere à faire du line/pixel
voici mon sprite
Citer : Posté le 01/05/2012 21:17 | #
voici mon bout de code:
[ spoiler ]
Je ne vois pas le problème, ça fonctionne très bien.
Comme je te l'ai dit, le bitmap de l'image du menu que tu as copié plus haut est correct.
Test, un deux un deux, quelqu'un m'entend ?
Citer : Posté le 01/05/2012 22:05 | #
Dans ce cas, pourquoi j'obtiens encore un écran qui ressemble à un QR code géant ?
Citer : Posté le 01/05/2012 22:23 | # | Fichier joint
C'est pourtant pas très difficile, cf fichier joint
Escape prison
Bloxorz
Free wheel
QR code
Nombre en or
RayCasting Engine
Mario Party
Zelda
et Planète Casio
Citer : Posté le 01/05/2012 22:46 | #
@Purobaz, pas de & devant lenu
Citer : Posté le 02/05/2012 13:50 | #
pfiou
merci à vous deux
Citer : Posté le 05/05/2012 11:40 | # | Fichier joint
oulà... Je suis tombé sur une erreur de ce type après avoir perdu.
Je ne sait pas du tout à quoi cela peut correspondre. Une erreur de mémoire, ça j'en suis sur, mais de quel type ?