Posté le 24/04/2021 14:09
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 278 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 25/04/2021 09:21 | #
annonce
je conte programmer ensuite un version que supporte les niveaux externes (fichiers)
ce sera juste un binaire qui contient une liste de 128 int
Ajouté le 25/04/2021 à 22:27 :
je développe finalement un système de niveau avec éditeur de niveau ULTRA facile:
paint (ou koulourpaint sur linux)
un niveau sera un simple .bmp avec les pixels (en rgb) qui correspond a des blocks au autres
il y aura:
-les blocks (issus de la tilemap, mêmes collisions entre eux)
-les objets prédéfinis dans le code du jeu (précise juste leur endroit de spawn)
- les spawn a objets, qui font spawn a un temps d'intervalle prédéfinit dans le code du jeu des objets (mobs,plateforme...)
Citer : Posté le 29/04/2021 22:17 | #
Coucou Pedro,
Ça a l'air sympa. Tu as des images pour nous teaser dans la RdP ? Des avancées ?
Citer : Posté le 30/04/2021 08:20 | #
oui mais je sais pas comment prendre une photo de l’écran
et j'utilise le moteur de gris
Citer : Posté le 30/04/2021 09:19 | #
Oui c'est un peu compliqué, il faut sauvegarder les VRAMs dans un fichier et ensuite reconstituer l'image sur l'ordinateur. Si tu crées un dépôt avec ton code je pourrai te soumettre une PR avec le code pour faire ça.
Citer : Posté le 30/04/2021 10:07 | #
il y a une librairie pour lire les .bmp sous gint?
Citer : Posté le 30/04/2021 10:07 | #
Les bmp je ne sais pas, mais les png sont bien gérés.
Citer : Posté le 30/04/2021 10:10 | #
Attention à ne pas confondre deux choses ; dans gint tu ne peux ni lire des BMP ni lire des PNG dans l'add-in ; mais le fxSDK a un outil qui s'appelle fxconv et qui peut convertir à peu près n'importe quelle image (placée dans assets-fx ou assets-cg) en un format lisible par gint à la compilation.
La question importante est donc : est-ce que l'image tu l'as déjà au moment où tu compiles l'add-in ? SI oui, mets-la dans assets-fx ou assets-cg, liste la dans le CMakeLists.txt si tu utilises CMake et rien si tu utilises un Makefile, et tout ira tout seul. Tu peux l'enregistrer en BMP, PNG, GIF, ce que tu veux.
Si non, alors c'est plus compliqué ; surtout que lire un fichier dans la mémoire de stockage est extrêmement lent.
Citer : Posté le 10/05/2021 06:33 | #
Tant que j'y pense,pouf, je case un @RDP pour cette semaine
Citer : Posté le 10/05/2021 07:24 | #
ok
Ajouté le 03/06/2021 à 07:40 :
je refais le code en C, je me suis perdu dans ces fichues classes toutes mélangés entre-elles
Ajouté le 03/06/2021 à 07:52 :
qui s'y connais en timers, j'ai suivit le tuto de lephe et j'ai fait ça:
#include <gint/keyboard.h>
#include <gint/gray.h>
#include <gint/timer.h>
#include <gint/clock.h>
#define ENGINE_TICK 10
//////// TIMER SETUP ////////
static int callback_tick(volatile int *tick){
*tick = 1;
return TIMER_CONTINUE;
}
static volatile int tick = 1;
int t = timer_configure(TIMER_ANY, ENGINE_TICK*1000, GINT_CALL(callback_tick, &tick));
//////// MAIN LOOP ////////
int main(void){
////////SETUP PROGRAM////////
//gray engine
dclear(C_WHITE);
dgray(DGRAY_ON);
dupdate();
//timer
if(t >= 0) timer_start(t);
////////PROGRAM LOOP////////
while(1){
}
/////// EXIT CODE ////////
//timer
if(t >= 0) timer_stop(t);
//gray engine
dclear(C_WHITE);
dgray(DGRAY_OFF);
dupdate();
//exit
return 1;
}
et ça me donne ça:
:: Making into build-fx
sh-elf-gcc -c src/main.c -o build-fx/src/main.c.o -mb -ffreestanding -nostdlib -fstrict-volatile-bitfields -Wall -Wextra -Wno-missing-field-initializers -Os -D FX9860G -m3 -I include -MMD -MT build-fx/src/main.c.o -MF build-fx/src/main.c.d -MP
src/main.c:15:9: warning: implicit declaration of function 'timer_configure' [-Wimplicit-function-declaration]
15 | int t = timer_configure(TIMER_ANY, ENGINE_TICK*1000, GINT_CALL(callback_tick, &tick));
| ^~~~~~~~~~~~~~~
src/main.c:15:54: warning: implicit declaration of function 'GINT_CALL' [-Wimplicit-function-declaration]
15 | int t = timer_configure(TIMER_ANY, ENGINE_TICK*1000, GINT_CALL(callback_tick, &tick));
| ^~~~~~~~~
src/main.c:15:9: error: initializer element is not constant
15 | int t = timer_configure(TIMER_ANY, ENGINE_TICK*1000, GINT_CALL(callback_tick, &tick));
| ^~~~~~~~~~~~~~~
make: *** [Makefile:121 : build-fx/src/main.c.o] Erreur 1
pour info je suis sous gint dev 2.2.1
Citer : Posté le 03/06/2021 10:36 | #
Cet avertissement signifie que GCC n'a pas connaissance de l'existence de timer_configure. Cette fonction est déclarée par <gint/timer.h>, que tu as inclus. Cependant tu utilises une version de gint où cette fonction n'existe pas encore (et le mécanise GINT_CALL non plus).
Tu peux soit mettre à jour soit utiliser la version équivalente de gint 2.2.1 :
Comme tu peux le voir, avant on n'avait droit qu'à un paramètre (et moins de types étaient autorisés).
Celle-là est un peu moins claire dans le contexte, mais essentiellement le problème est que tu as mis du code (l'appel à timer_configure()) alors que tu n'es pas dans une fonction. Tu ne peux donner des instruction que dans une fonction, dans ce cas ça devrait être au début de main.
Et pour finir :
dgray(DGRAY_ON);
dupdate();
Il faut lancer dgray() avant de commencer à dessiner sinon tu obtiens n'importe quoi !
Citer : Posté le 04/06/2021 14:11 | # | Fichier joint
voici une partie du moteur physique, y y a les déplacements
https://linx.breizh.pm/nx9ulnzi.g1a
lien disponible 1 mois, si il est plus disponible regardez le fichier joint
Ajouté le 04/06/2021 à 14:13 :
info: appuyez sur la touche [TAN] pour voir le debug mode
Citer : Posté le 31/08/2021 14:50 | #
ça ma donné une super idée de jeu! en plus, le projet est abandonné