Posté le 06/10/2013 17:36
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 40 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 06/10/2013 18:52 | #
Quelques pistes pour améliorer :
-> Je pense que pour les habitués de ML, il faudrait que tes fonctions commencent toute par CL_ ou un truc comme ça.
-> Aussi, les fonctions comme dessiner un cercle peuvent profiter de la transparence, donc pourquoi ne pas faire une fonction CL_drawCircleTrans(int x, int y, int rayon, int couleur, int alpha) ?
-> La fonction KeyDown n'est pas une fonction graphique. On peut peut être l'exclure de cette lib. Idem pour random et abs (sauf si ils sont nécessaires pour le reste).
-> Une doc complète sur l'utilisation des fonctions est vraiment utile pour ceux qui ne maitrisent pas ou peu le C sur Prizm
Bref, c'est quelques remarques que je peux faire sur le projet actuel, mais tu n'es pas obligé de les prendre toutes en compte
Citer : Posté le 06/10/2013 19:01 | #
Merci
Ajouté le 06/10/2013 à 19:36 :
Avec cette librairie je pensais mettre dedans toutes les fonctions utiles pour la programmation sur fx-CG20. C'est pour cela que je laisserai les fonctions: Keydown, random et peut-être abs
Mon problème d'installation du sdk sur mon nouveau ordinateur est résolut.
Ajouté le 06/10/2013 à 19:42 :
Ne métrisant pas encore très bien la couleur, est-ce qu'un aimable admis pourrait-me faire une fonction pour dessiner un cercle avec la transparence ou m'expliquer comment faire ?
Zelda de Smashmaster
Super Geek Brothers de Siapran
Pac-Man
Pac-Man Color
Meta Ball
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Citer : Posté le 06/10/2013 20:49 | #
Si tu veux je te la fais, elle arrive...
#define VRAM 0xA8000000
void drawCircleAlpha(int x0, [purple]int[/purple] y0, [purple]int[/purple] rayon, [purple]int[/purple] couleur, [purple]int[/purple] alpha)
{
[purple]int[/purple] er = [maroon]1[/maroon] - rayon;
[purple]int[/purple] erY = [maroon]1[/maroon];
[purple]int[/purple] erX = -2 * rayon;
[purple]int[/purple] x = rayon, y = [maroon]0[/maroon];
drawPoint(x0, y0 + rayon, [maroon]1[/maroon], couleur, alpha);
drawPoint(x0, y0 - rayon, [maroon]1[/maroon], couleur, alpha);
drawPoint(x0 + rayon, y0, [maroon]1[/maroon], couleur, alpha);
drawPoint(x0 - rayon, y0, [maroon]1[/maroon], couleur, alpha);
[b][blue]while[/blue][/b](y < x)
{
[b][blue]if[/blue][/b](error > 0)
{
x--;
erX += [maroon]2[/maroon];
er += erX;
}
y++;
erY += [maroon]2[/maroon];
er += erY;
drawPoint(x0 + x, y0 + y, [maroon]1[/maroon], couleur, alpha);
drawPoint(x0 - x, y0 + y, [maroon]1[/maroon], couleur, alpha);
drawPoint(x0 + x, y0 - y, [maroon]1[/maroon], couleur, alpha);
drawPoint(x0 - x, y0 - y, [maroon]1[/maroon], couleur, alpha);
drawPoint(x0 + y, y0 + x, [maroon]1[/maroon], couleur, alpha);
drawPoint(x0 - y, y0 + x, [maroon]1[/maroon], couleur, alpha);
drawPoint(x0 + y, y0 - x, [maroon]1[/maroon], couleur, alpha);
drawPoint(x0 - y, y0 - x, [maroon]1[/maroon], couleur, alpha);
}
}
static void drawPoint(int x, [purple]int[/purple] y, [purple]int[/purple] size, [purple]int[/purple] color, [purple]int[/purple] alpha)
{
[purple]int[/purple] i, j;
short* vram = VRAM;
[b][blue]if[/blue][/b](x+size>=LCD_WIDTH_PX || x<0 || y+size>=LCD_HEIGHT_PX || y<0) [b][blue]return[/blue][/b];
vram += y*LCD_WIDTH_PX + x;
[b][blue]if[/blue][/b](alpha == [maroon]32[/maroon]) {
[b][blue]for[/blue][/b](i=size ; i ; i--, vram+=LCD_WIDTH_PX-size) {
[b][blue]for[/blue][/b](j=size ; j ; j--) {
*(vram++) = color;
}
}
} [b][blue]else[/blue][/b] {
[b][blue]for[/blue][/b](i=size ; i ; i--, vram+=LCD_WIDTH_PX-size) {
[b][blue]for[/blue][/b](j=size ; j ; j--) {
*(vram++) = ((((color & 0xf81f) * alpha + (*vram & 0xf81f) * (32-alpha)) >> 5) & 0xf81f) |
((((color & 0x07e0) * alpha + (*vram & 0x07e0) * (32-alpha)) >> 5) & 0x07e0);
}
}
}
}
Grosso modo ça utilise la fonction de point avec une taille de 1 et un canal alpha donc.
Mais attention, cette fonction affiche un cercle et non pas un disque !
Donc il me semble que la transparence a une utilité limitée non?
Sinon, j'avais fait une fonction de tracé de disque mais elle n'est je pense absolument (mais alors pas du tout) optimisée... Je regarderai quand même, de même pour le rectangle autres !
Citer : Posté le 06/10/2013 21:04 | #
Merci
Zelda de Smashmaster
Super Geek Brothers de Siapran
Pac-Man
Pac-Man Color
Meta Ball
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Citer : Posté le 06/10/2013 21:19 | #
Tiens, voila une fonction, pas de moi (de Spenceboy98) qui permet de tracer un polygone dont les sommets sont définis dans un tableau (d'int) du type {x1,y1,x2,y2....}
{
[purple]int[/purple] i;
[b][blue]for[/blue][/b](i = [maroon]0[/maroon]; i < (points*2); i+=[maroon]2[/maroon])
{
[b][blue]if[/blue][/b](i < (points*2)-4)
{
line(xy[i], xy[i+1], xy[i+2], xy[i+3], color);
} [b][blue]else[/blue][/b]
{
line(xy[i], xy[i+1], xy[0], xy[1], color);
}
}
}
points étant le nombre de points, et color, ben la couleur
Il faut définir ta fonction line aussi
Toujours pareil, ça ne trace que les segments, mais je regarderai demain pour faire un remplissage de cercle et de polygone, avec support de l'alpha, si tu veux !
Citer : Posté le 06/10/2013 21:21 | #
mais en soit, il suffirait de convertir quelques fonctions de monochrome lib (genre ML_pixel), et puis de changer quelques argument, et puis voila
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 07/10/2013 18:07 | #
Merci beaucoup de vos participations. Il y a des choses que je n'arriverai pas a faire sans vous. Je pensais faire aussi une fonction d'affichage de sprites en 16*16. 8*8 et 32*32 sont peut-être inutiles ? Je ne sais pas.
Zelda de Smashmaster
Super Geek Brothers de Siapran
Pac-Man
Pac-Man Color
Meta Ball
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Citer : Posté le 07/10/2013 18:08 | #
etant donné que la taille de l'ecran de la prizm est tres grand, et que la taille des sprite est beaucoup plus grande que sur 85 et surtout beaucoup plus variable, je ne pense pas que des fonctions a taille fixe soient tres utiles
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 07/10/2013 18:37 | #
Oui 8*8 ne représente pas grand chose . Mais 16*16 et 32*32 seront peut-être plus utiles ?
Zelda de Smashmaster
Super Geek Brothers de Siapran
Pac-Man
Pac-Man Color
Meta Ball
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Citer : Posté le 07/10/2013 18:50 | #
A partir du moment où on peut choisir de les compiler ou pas, je pense qu'il faut les mettre car les fonctions de spriting avec nombre de bits défini et non modifiable sont, je pense, plus rapides qu'un nBits avec le même format.
Vu qu'on est pas obligés de la compiler/l'ajouter, ça prend pas plus de place dans le programme final, donc pas de problèmes a ce niveau là je pense
Citer : Posté le 07/10/2013 18:51 | #
je ne suis pas sur, car un sprite en 8 bit ne sera pas plus compressé en 32*32 qu'en 33*33 (alors qu'en 1 bit (pour les 85), cela prendra une nouvelle ligne de 8 pixels, rendant 33*7 pixels inutilisés et gaspillés)
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 07/10/2013 18:52 | #
Merci de la réponse, je pensait aussi cela plus rapide du fait du nombre moindre de données à transferer
Zelda de Smashmaster
Super Geek Brothers de Siapran
Pac-Man
Pac-Man Color
Meta Ball
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Citer : Posté le 07/10/2013 18:57 | #
le gain de vitesse serait vraiment minime, pour que la vitesse soit vraiment différente, il faudrait optimiser la fonction grâce au fait que la taille est définie.
mais en soit, ca ne peut pas faire de tort de les ajouter
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 07/10/2013 19:31 | # | Fichier joint
Voici la version 0.91 sans la doc.
Zelda de Smashmaster
Super Geek Brothers de Siapran
Pac-Man
Pac-Man Color
Meta Ball
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Citer : Posté le 09/10/2013 22:40 | #
Tu devrais plutôt poster ta lib dans un repo à contrôle de version, comme GitHub, ça permet de ne pas s'emmêler les pinceaux entre les différentes versions, comme moi et ECode.
Ajouté le 09/10/2013 à 22:45 :
Merci beaucoup de vos participations. Il y a des choses que je n'arriverai pas a faire sans vous. Je pensais faire aussi une fonction d'affichage de sprites en 16*16. 8*8 et 32*32 sont peut-être inutiles ? Je ne sais pas.
Hônnement, oublie, la partie qui fait vraiement ralentir est de devoir mettre à jour l'écran, et de l'attendre pour continuer l'exécution du programme (c'est ce que fait le syscall actuellement). Les optimisations pour des tailles définies n'ont aucun intérêt. Par contre, je peux te proposer une routine qui prend un sprite dans une grille. C'est légèrement moins optimisé (léger calcul en plus), mais pour gérer les variables/sprites après, c'est royal. C'est la routine qui dessine le launcher de mon Bust-A-Move. Essaye de rendre cette fonction indépendante du jeu et t'as la routine toute faite!
Citer : Posté le 10/10/2013 18:21 | #
j'ai piger comment fonctionnant GitHub. Mais je n'est pas compris comment le telecharger ?
Et c'est quoi une routine ?
Zelda de Smashmaster
Super Geek Brothers de Siapran
Pac-Man
Pac-Man Color
Meta Ball
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Citer : Posté le 10/10/2013 20:58 | #
routine == fonction.
Ne télécharge pas le Github desktop, regarde plutôt le tutoriel sur le Site du Zéro (j'emmerde le crétin qui a décidé de changer le nom du SdZ. Point.). Github n'est qu'un repo à distance.
Pour résumer vite fait Git&Github, Git gère un dossier que tu vas initialiser comme un repository. Quand tu vas opérer des modifications, git les verra. Quand tu voudras sauvegarder un état de ton code, tu fais ce qu'on appelle un commit. GIt stocke tous les commits. Cela permet de pouvoir facilement observer les différences entre les différentes versions, et gérer plutôt bien l'évolution du programme. L'avantage est que tu peux créer des branches, des fork- des dérives de ton code en un point donné, qui te permetrront par exemple de développer d'un autre coté une feature, et de ne l'ajouter à la branche principale/une autre branche -un merge- une fois la feature complète. Github ne fournit que le stockage des repos. TU modifies le code en local, tu fais ce que bon te semble, et quand tu as fini de commit/fork/merge ton code, tu l'envoie sur le repo de GitHub, et il va stocker ton code bien au chaud. CHacun pourra ainsi voir ton repo, et le forker afin de faire des modifications souhaitées, et même te proposer une fusion de leur fork sur tonrepo afin d'intgrer une correction de bug, une feature en plus, etc...
TL;DR : Git+Github, c'est le bien pour la getion de code source, n'hésite pas à essayer en local, et suivre des tutos, c'est un bon bonus personnellement ET professionnellement (à ajouter dans un C.V.).
Ajouté le 10/10/2013 à 20:59 :
Maintenant, je gère mon Bust-A-Move dans un repo GIT. Ca me permet de voir ce qui a changé. Autre truc que j'ai pas dit : tu peux revenir en arrière dans l'histoire des commits, un rollback. Si jamais un commit a merdé, pouf, je le corrige et c'est bon!
Citer : Posté le 11/10/2013 16:06 | #
merci de ces précieuses informations
Zelda de Smashmaster
Super Geek Brothers de Siapran
Pac-Man
Pac-Man Color
Meta Ball
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Citer : Posté le 12/10/2013 14:34 | #
Au plaisir!
Si tu veux, je peux toujours créer le repos pour ColorLib, et te mettre en collaborateur!
Citer : Posté le 12/10/2013 15:39 | #
oui
S'il te plait
Zelda de Smashmaster
Super Geek Brothers de Siapran
Pac-Man
Pac-Man Color
Meta Ball
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur