Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » [SDK] MonochromeLib - une lib graphique monochrome
Pierrotll Hors ligne Ancien administrateur Points: 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


1, 2, 3, 4, 5 Suivante
Louloux Hors ligne Ancien administrateur Points: 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 {
Eiyeron Hors ligne Ancien modérateur Points: 5525 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...
Louloux Hors ligne Ancien administrateur Points: 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 storm Hors ligne Labélisateur Points: 11579 Défis: 176 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
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

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


Les types "normaux" n'utilisent pas MonochromeLib
Dark storm Hors ligne Labélisateur Points: 11579 Défis: 176 Message

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


mouai....
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Getkey Hors ligne Membre Points: 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
Thomatos Hors ligne Ancien administrateur Points: 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 storm Hors ligne Labélisateur Points: 11579 Défis: 176 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
Thomatos Hors ligne Ancien administrateur Points: 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 storm Hors ligne Labélisateur Points: 11579 Défis: 176 Message

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


bah tu fait comment alors ?

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Getkey Hors ligne Membre Points: 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
Thomatos Hors ligne Ancien administrateur Points: 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 ...
Getkey Hors ligne Membre Points: 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
Pierrotll Hors ligne Ancien administrateur Points: 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.
Getkey Hors ligne Membre Points: 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
Pierrotll Hors ligne Ancien administrateur Points: 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.
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

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


Utilise Sprite maker alors.
Getkey Hors ligne Membre Points: 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
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

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


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

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

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