Page 2 sur 6

Re: Aide pour un programme en C

Message non luPosté: 02 Fév 2011, 23:33
de Folco
Et avec un peu d'habitude, le format hexa se manipule aussi bien que le binaire, même pour les sprites : Un digit = 4 pixels. Ok, faire de l'assembleur, ça aide évidemment. Mais au final, on gagne en lisibilité globale dans le source, sans perdre à la maintenance (on n'édite pas tous ses sprites à la main tous les 4 matins). Par contre, le décimal me semble être le pire choix :D:

Re: Aide pour un programme en C

Message non luPosté: 03 Fév 2011, 09:28
de Kiligolo
Oui parce qu'avec l'axe j'ai l'habitude du hexadécimal.
Mais comment faire des maps?

Re: Aide pour un programme en C

Message non luPosté: 03 Fév 2011, 10:54
de Folco
Le concept d'une map repose sur l'alliance de deux données :
- un tableau de tous les sprites qui seront présents sur ta map
- un tableau représentant chaque case de la map, contenant le numéro du sprite à dessiner dans la-dite case.

Regarde la doc de la lib avec laquelle tu veux programmer pour en savoir plus sur le format de la map.

Pour éditer les maps, ben ça a toujours été ma bête noire... :(
Je ne connais pas de bon éditeur. Il y a bien Graphic Studio, mais il est assez bugué...

Re: Aide pour un programme en C

Message non luPosté: 03 Fév 2011, 15:08
de Folco
Tiens, l'url du site de l'auteur de DoAnyBgs, pour faire rapidement tes sprites (à noter que tes sprites doivent être des bmp en 2 ou 4 niveaux de gris, ça ne fait pas le même travail que Istudio, mais ça a d'autres avantages ; perso j'utilise l'un puis l'autre pour traiter un sprite ^^) : http://www.exolithe.com/box/

Re: Aide pour un programme en C

Message non luPosté: 24 Mar 2011, 16:26
de Kiligolo
up! ^^
J'ai essayé d'afficher une image 160*100 pixels comme me le dit Loulou mais j'ai un problème avec la fonction BitmapPut(). J'écris ceci:
Code: Tout sélectionner
BitmapPut(0, 0, titre, (SCR_RECT){{0, 0, 159, 99}}, A_NORMAL);

mais il me dit Incompatible type for argument 3 of indirect function call...

Re: Aide pour un programme en C

Message non luPosté: 24 Mar 2011, 19:22
de Lionel Debroux
Si tu as suivi l'exemple de Loulou à  la lettre, il faut que tu passes un pointeur vers une structure: titre.

Re: Aide pour un programme en C

Message non luPosté: 24 Mar 2011, 19:52
de Loulou 54
Je crois qu'il faut mettre un pointeur. Essaie "" ! ;)

Re: Aide pour un programme en C

Message non luPosté: 24 Mar 2011, 20:01
de Kiligolo
Ah merci!
Et est-ce qu'avec cette fonction on peut faire des niveaux de gris?

Re: Aide pour un programme en C

Message non luPosté: 24 Mar 2011, 20:12
de Loulou 54
Oui je crois même que je l'ai utilisé pour ça, entre autre. =)
Normalement, toutes les fonctions graphiques peuvent faire des niveaux de gris. Il faut pour cela activer les niveaux de gris avec GrayOn(); (les désactiver avec GrayOff;) et dans ce bloc, tu fais appel à tes fonctions graphiques qui traceront dans le "plane" courant. Tu as deux "plane" : DARK_PLANE et LIGHT_PLANE.
Pour avoir du gris clair, tu traces dans le light_plane
du gris foncé dans le dark_plane
du noir, tu superpose le light et le dark plane. (il faut que tu traces dans les deux)

C'est la même chose qu'avec flib ! ;)

Pour sélectionner le "plane" courant c'est la commande :
GraySetAMSPlane(LIGHT_PLANE); ou GraySetAMSPlane(DARK_PLANE);

Voilà, a+ ;)

Re: Aide pour un programme en C

Message non luPosté: 24 Mar 2011, 20:46
de Kiligolo
Merci! :D
J'ai pu terminé le menu principal de Calcul Mental 68K:
Image