**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 03/07/2012 19:53 | #
Bon, comme je l'avais dit, de l'optimisation je m'en chargerai plus tard, je vais tester ce que tu dis, merci
Ajouté le 03/07/2012 à 20:10 :
Oui, ça marche, merci beaucoup (maintenant il ne me reste qu\'à me charger du débuggage, optimisation, etc :-*, mais j\'essaierai de le faire moi meme)
My program is not working, I have no idea why.
My program is working, I have no idea why.
Citer : Posté le 15/07/2012 02:41 | #
sympas ce sujet, mais je pense qu'on devrait répertorier les cas comme ceux de Javierx, car moi aussi j'ai eut des problèmes quand j'ai voulu utiliser les "case".
Le sujet comporte très peux de fonctions pour ce nommer "topic officiel du SDK", mieux vaudrait intégrer les fonctions une a une en s'inspirant des aides fournies dans les discussions, en espérant qu'elles seront mieux que celles de casio ou autres qui sont généralement en anglais.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 15/07/2012 10:28 | #
C'est pour ça que j'ai écrit la librairie des fonctions de "fxlib.h" sur le Casio Universal Wiki partie française : dites--moi ce que vous en pensez, et on pourra faire une page sur le site.
Citer : Posté le 16/07/2012 03:36 | #
je savais pas... je vais me voir sa!
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 27/07/2012 18:22 | #
Est-ce que quelqu'un aurait des fonctions sinus et cosinus optimisées pour un projet 3D ?
Escape prison
Bloxorz
Free wheel
QR code
Nombre en or
RayCasting Engine
Mario Party
Zelda
et Planète Casio
Citer : Posté le 27/07/2012 18:40 | #
J'ai trouvé ça : Lien
Citer : Posté le 27/07/2012 21:45 | #
tu peux prog un système de cosinus et sinus fixes, ou bien utiliser celui qui a été fournie par ... heu j'ai oublié...
I own a graph 3575+.
Citer : Posté le 27/07/2012 21:50 | # | Fichier joint
Le truc c'est d'utiliser un tableau de valeur prédéfinie, ça prend plus de place (mais pas bcp) mais c'est beaucoup plus rapide.
Utilise la lib de pierrot et kristaba : (fichier joint). C'est explicite.
Citer : Posté le 27/07/2012 22:13 | #
c'était de celle-là que je parlais X)
I own a graph 3575+.
Citer : Posté le 27/07/2012 22:41 | # | Fichier joint
Cette version (fichier joint) est plus récente, elle contient une fonction sqrt.
Citer : Posté le 28/07/2012 00:17 | #
Ah merci pierrot, je vais y jeter un coup d'œil du coup
Citer : Posté le 15/09/2012 16:06 | #
FU*** !!!
Saleté d'EBR !
Je n'arrive plus à utiliser ML_bmp_or (et and par la même occasion).
Quelqu'un (Pierrot ?) peut m'aider ?
Citer : Posté le 15/09/2012 16:17 | #
c'est quoi un EBR? :huh:
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 15/09/2012 16:20 | #
Erreur bien relou
Citer : Posté le 15/09/2012 16:21 | #
Exception Blocked Reset
Je ne sait pas du tout d'où ça vient, surtout que la compilation marche très bien
Citer : Posté le 15/09/2012 16:23 | #
ha ok (je suis pas plus avancé... je vais essaye de googler ca)
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 15/09/2012 16:25 | #
Tu retombe sur PC, non ?
Citer : Posté le 15/09/2012 16:27 | #
oui... bon ben je laisse tomber
PS : je suis toujours sur PC... je ne supporte pas les mac
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 15/09/2012 17:09 | #
Planète-Casio, pas personnal computer
Citer : Posté le 15/09/2012 22:36 | #
Généralement on obtient cette erreur en utilisant les niveaux de gris.
Je peux aider, mais sans plus d'info ça va être difficile.
Citer : Posté le 23/09/2012 11:04 | # | Fichier joint
en reprenant mon prog, je me suis apperçu que c'est la fonction ML_bmp_and qui bugue précisément ici (voir P.J)
J'ai essayé de recompiler avec une autre version de ML, rien n'y fait...
Ajouté le 23/09/2012 à 11:18 :
bon, après quelques tests, je m\'apperçois que
[green]// Initialisation des bitmaps[/green]
*unsigned char *positionsJoueurPos[NB_POSITIONS];
unsigned char *positionsJoueurNeg[NB_POSITIONS];
const unsigned char pn01[] = {0xFF, 0xFF, [...], 0xC0};
const unsigned char pp01[] = {0x00, 0x38, [...], 0x00};
//Sleep(2000);
positionsJoueurPos[0] = pp01;
positionsJoueurNeg[0] = pn01;
[...]
positionsJoueurPos[7] = pp08;
positionsJoueurNeg[7] = pn08;
//animDebut();
do [green]// BOUCLE PRINCIPALE[/green]
{
score++; [green]// augmentation du score[/green]
ML_clear_vram();
dessineFondEcran(score);
positionAffiche ++;
if(positionAffiche > 7) positionAffiche = 0;
[green]// incrementation de la position du joueur[/green]
ML_bmp_or(positionsJoueurPos[positionAffiche], 20, 21, 18, 24); [green]// toute seule, cette fonction marche[/green]
ML_bmp_and(positionsJoueurNeg[positionAffiche], 20, 21, 18, 24); [green]Par contre, celle là pose problème...[/green]
ML_display_vram();
Sleep(RAPIDITE_DEBUT);
}while(1);