Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » [SDK] MonochromeLib - une lib graphique monochrome
PierrotllHors ligneAncien administrateurPoints: 5488 Défis: 41 Message

[SDK] MonochromeLib - une lib graphique monochrome

Posté le 09/06/2010 02:22

MonochromeLib, qu'est ce que c'est ?
MonochromeLib est une bibliothèque de dessin pour le SDK Casio Graph 85.
Elle fournit aux développeurs des fonctions optimisées pour tracer toute sorte de choses à l'écran.
Chaque fonction de MonochromeLib est bien plus rapide que son équivalent dans fxlib.h, et elle fournit de nombreuses fonctionnalités supplémentaires.

Comment l'utiliser
Pour utiliser la bibliothèque, copiez les 2 fichiers dans le dossier de votre projet, ajoutez MonochromeLib.c à votre projet (dans la fenêtre "Files in project" dans le SDK), ajoutez #include "MonochromeLib.h" au début de votre code.
Pour n'ajouter à votre projet que les fonctions dont vous avez besoin, chaque fonction est protégée par un #ifdef, et les #define de chaque fonction sont commentés par défaut.
Pour pouvoir utiliser une fonction, il suffit d'éditer MonochromeLib.h et de décommenter les #define des fonctions que vous voulez utiliser.
/!\ Important
Si vous rencontrez une erreur de compilation de ce type :
** L2310 (E) Undefined external symbol "_ML_pixel" referenced in "C:\...\CASIO\fx-9860G SDK\Projet\Debug\MonochromeLib.obj"
et que le #define de la fonction en question est bien actif dans MonochromeLib.h, alors il faut juste recompiler MonochromeLib.c
Pour cela, Utilisez la fonction Project > Rebuilt all dans le SDK. Si cela ne résoud pas le problème, supprimez le dossier Debug de votre projet, et recompilez normalement.

N'attendez plus !
Une documentation complète est maintenant fournie dans l'archive zip, en anglais et en français.


Questions récurrentes :

Problème : voici mon code, le compilateur ne veux pas le compiler :
unsigned char image[] = { ... };

ML_clear_vram();
ML_BMP_OR(image, 21, 42, 34, 34);
ML_clear_vram();

Solution : toutes les fonctions de MonochromeLib s'appellent en minuscule : les seules majuscules sont celles du "ML". Relisez la doc ou le wiki, et regardez l'orthographe exacte de la fonction.


Version actuelle : 22 novembre 2011
Télécharger MonochromeLib


Pages : 1, 2, 3, 4Suivante
LoulouxHors ligneAncien administrateurPoints: 7035 Défis: 61 Message

Citer : Posté le 21/04/2012 14:31 | #


Juste comme ça, je me suis amusé à lire le code de la documentation... Moi qui étais en admiration devant Pierrotll :

<div class="footer">

.footer {


Alors que ce serait tellement plus simple:
<footer>

footer {
EiyeronHors ligneAncien modérateurPoints: 5513 Défis: 57 Message

Citer : Posté le 21/04/2012 14:33 | #


Bah quoi? On ne peut pas être bon partout!
Et Puis, si tu n'as aps un navigateur qui prend pas footer...
LoulouxHors ligneAncien administrateurPoints: 7035 Défis: 61 Message

Citer : Posté le 21/04/2012 15:02 | #


Tu vois beaucoup de programmeurs sur une version de Internet Explorer inférieure à 8 ? Ou sur Explorer tout court...
Dark stormHors ligneMembre d'honneurPoints: 10765 Défis: 174 Message

Citer : Posté le 22/04/2012 12:28 | #


oui, mais des types "normaux" si...
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
LoulouxHors ligneAncien administrateurPoints: 7035 Défis: 61 Message

Citer : Posté le 22/04/2012 12:44 | #


Les types "normaux" n'utilisent pas MonochromeLib
Dark stormHors ligneMembre d'honneurPoints: 10765 Défis: 174 Message

Citer : Posté le 22/04/2012 15:11 | #


mouai....
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
GetkeyHors ligneMembrePoints: 232 Défis: 0 Message

Citer : Posté le 24/04/2012 20:39 | # | Fichier joint


J'ai un petit problème...
Alors voila le petit code (je veut afficher un sprit):
char kirbyrepos [] = {504, 516, 1026, 1106, 2129, 2049, 2597, 2565, 1542, 2046, 2193, 1950};

ML_bmp_or (kirbyrepos, 0, 0, 12, 12);
ML_display_vram();

Je compile et ça m'affiche pas du tout mon sprite mais un ça (fichier joint)
Le sprite que je veut afficher est a droite et ce que j'ai en réalité à gauche
Getkey est en cours de chargement. Veuillez patienter...


Mes jeux en pause...
Cliquer pour enrouler
ThomatosHors ligneAncien administrateurPoints: 3495 Défis: 39 Message

Citer : Posté le 24/04/2012 20:59 | #


char


Toujours pas trouvé ?

8 pixels pour une case, parc'que char doit être <256, donc 8 pixels par 8 pixels pour encoder ton sprite !
Dark stormHors ligneMembre d'honneurPoints: 10765 Défis: 174 Message

Citer : Posté le 24/04/2012 21:00 | #


sinon, faut utiliser un int je suppose (je ne suis pas fan des sprites)
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
ThomatosHors ligneAncien administrateurPoints: 3495 Défis: 39 Message

Citer : Posté le 24/04/2012 21:02 | #


Non j'crois pas, vu que la lib lit octet par octet, donc 8 pixels par case
Dark stormHors ligneMembre d'honneurPoints: 10765 Défis: 174 Message

Citer : Posté le 24/04/2012 21:06 | #


bah tu fait comment alors ?

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
GetkeyHors ligneMembrePoints: 232 Défis: 0 Message

Citer : Posté le 24/04/2012 21:07 | # | Fichier joint


A d'accord j'avais pas compris a cause du protoype et aussi parce que je suis noob du C

EDIT: j'avais pas vu la 2° page (enfin la 11°)
Oui donc comment tu fait ?

EDIT2: j'ai mis un int et ça fait ça (fichier joint)
C'est bizarre mes pixels sont espacés, ça doit être la conversion en décimal qui est mal faite
Getkey est en cours de chargement. Veuillez patienter...


Mes jeux en pause...
Cliquer pour enrouler
ThomatosHors ligneAncien administrateurPoints: 3495 Défis: 39 Message

Citer : Posté le 24/04/2012 21:36 | #


Faut pas mettre de int, tu laisses en char, mais tu fais ton tableau différemment, de 8 pixels en 8 pixels ...
GetkeyHors ligneMembrePoints: 232 Défis: 0 Message

Citer : Posté le 24/04/2012 21:48 | #


A OK donc en tout il y aura 16 cases dans le tableau
C'est ça (je teste demain) ?
Getkey est en cours de chargement. Veuillez patienter...


Mes jeux en pause...
Cliquer pour enrouler
PierrotllHors ligneAncien administrateurPoints: 5488 Défis: 41 Message

Citer : Posté le 24/04/2012 21:56 | #


Tu peux aussi garder ton encodage actuel et déclarer ton tableau comme un tableau de short (16 bits).

L'encodage des bitmaps est expliqué dans la documentation.
GetkeyHors ligneMembrePoints: 232 Défis: 0 Message

Citer : Posté le 24/04/2012 23:03 | #


Ok !
Mais est-qu'une des methode est plus rapide que l'autre ?

P.S: pierotll j'ai pas reussis a fair marcher find_sprit_in_bitmap donc j'ai tout convertit en décimal avec ma calculette.
Getkey est en cours de chargement. Veuillez patienter...


Mes jeux en pause...
Cliquer pour enrouler
PierrotllHors ligneAncien administrateurPoints: 5488 Défis: 41 Message

Citer : Posté le 24/04/2012 23:19 | #


Tout est expliqué dans les commentaires, il faut un bitmap 24 bits.
Il faut que les images soient entourées d'un carré noir avec une marge intérieure et extérieur d'1pixel blanc, comme dans l'image d'exemple.
Les carrés noirs ne doivent pas se toucher, et ne doivent pas toucher les bord de l'image.
LoulouxHors ligneAncien administrateurPoints: 7035 Défis: 61 Message

Citer : Posté le 25/04/2012 13:04 | #


Utilise Sprite maker alors.
GetkeyHors ligneMembrePoints: 232 Défis: 0 Message

Citer : Posté le 25/04/2012 17:08 | #


Même l'image d'exemple ne marche pas
Getkey est en cours de chargement. Veuillez patienter...


Mes jeux en pause...
Cliquer pour enrouler
EiyeronHors ligneAncien modérateurPoints: 5513 Défis: 57 Message

Citer : Posté le 25/04/2012 19:02 | #


Il faut taper le nom du fichier avec ".bmp"
Pages : 1, 2, 3, 4Suivante

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 64 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