Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Moteur de déplacement en C
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Moteur de déplacement en C

Posté le 22/01/2016 23:08

Bonjour ou bonsoir à tous !

Comme l'indique le titre, je programme un petit moteur de déplacement pour mes futurs jeux.

Déjà, à tous ceux qui m'ont aidé !


Je suis actuellement en train de faire la gestion des événements en fonction de là ou on se trouve

Par contre le SH4 comptibility tool m'indique ceci : Error 2 : we found more than one KeyDown function !
Au début de usefull.c, il y a à peu près le même code que mon pote m'a passé pour rendre compatible SH4. Le problème c'est que je n'ose pas toucher à usefull parce que sinon je vais faire n'importe quoi et que si je supprime le code de mon pote les valeurs des touches ne sont plus du tout les mêmes

Aussi, lorsque l'on quitte avec EXIT qui est censé mené à la fin du main au return 0, system error.
TLB ERROR
TARGET=00056694
PC=000068CC



Si vous pouviez m'aider ce serait génial
Merci d'avance


~Les sources [mises à jour le 31/01/2016 à 17:55]~

Le code : http://hastebin.com/ohisawiraw.cs

Les sources actuels (enfin fonctionnelles \o/) sont en fichier joint.
Dès fois il y a des trucs bien moches qui ne respectent pas l'indentation et ce genre de chose. C'est normal ils sont destinés à être supprimés alors c'est pour les reconnaître


Un grand merci à Xavier59 qui à résolu mon problème !

Fichier joint


Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 26/01/2016 22:12 | #


Aah je croyais que ça remplaçait le GetKey

Merci c'est plutôt sympa

Ajouté le 28/01/2016 à 12:56 :
J'ai mis en application tout ce que vous m'avez dit (normalement).
Mais je me heurte encore à certains problèmes. Ils sont listés dans le post principal.

Si vous pouviez m'aider ce serait super sympa, merci
Fife86 Hors ligne Membre Points: 830 Défis: 0 Message

Citer : Posté le 28/01/2016 19:40 | #


Matt il existe les pointeurs pour passer un tableau. Ex: tab** dans la fonction il faut aussi passer en argument les 2 dimensions. Pour vérifier les 2 tableaux tu peu faire.

for( int y= 0; y<tailley; y++)
for( int x= 0; x<taillex; x++)
{
if(tab1[y][x] != tab2[y][x])return 1;
}

return 0;

Tout ce code dans une fonction qui pourrait se nommer comptab.
It's Show Time !!!
Mes Jeux :
- Street Fighter : Pour les accrocs du free-fight.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".


< Le recoin du C-Engine >
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 28/01/2016 19:52 | #


En argument j'ai mis ça "int map(int** matrice_collision, unsigned char* dessinmap)"
Ca passe ?

Aussi pour mettre les valeurs d'un tableau à l'autre j'ai fait ça :
//défini dans le main
unsigned char dessinmap[1024];
int matrice_collision[8][16] = {{0}};

map(matrice_collision, dessinmap); //J'appelle ma fonction
//fin


int map(int** matrice_collision, unsigned char* dessinmap)
{
[spoiler=initialisation de allee (c'est gros alors je le mets dans un spoiler)|Cliquer pour enrouler]const unsigned char allee[]={
    0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0,
    0xf8, 0x42, 0x1f, 0x0, 0xf8, 0x42, 0x1f, 0x0, 0xf8, 0x42, 0x1f, 0x0, 0xf8, 0x42, 0x1f, 0x0,
    0x87, 0xff, 0xe1, 0x0, 0x87, 0xff, 0xe1, 0x0, 0x87, 0xff, 0xe1, 0x0, 0x87, 0xff, 0xe1, 0x0,
    0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0,
    0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0,
    0x9f, 0x0, 0xf9, 0x0, 0x9f, 0x0, 0xf9, 0x0, 0x9f, 0x0, 0xf9, 0x0, 0x9f, 0x0, 0xf9, 0x0,
    0x91, 0x0, 0x89, 0x0, 0x91, 0x0, 0x89, 0x0, 0x91, 0x0, 0x89, 0x0, 0x91, 0x0, 0x89, 0x0,
    0x91, 0x0, 0x89, 0x0, 0x91, 0x0, 0x89, 0x0, 0x91, 0x0, 0x89, 0x0, 0x91, 0x0, 0x89, 0x0,
    0x9f, 0x0, 0xf9, 0x0, 0x9f, 0x0, 0xf9, 0x0, 0x9f, 0x0, 0xf9, 0x0, 0x9f, 0x0, 0xf9, 0x0,
    0x80, 0x7e, 0x1, 0x0, 0x80, 0x7e, 0x1, 0x0, 0x80, 0x7e, 0x1, 0x0, 0x80, 0x7e, 0x1, 0x0,
    0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0,
    0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0,
    0x80, 0x4a, 0x1, 0x0, 0x80, 0x4a, 0x1, 0x0, 0x80, 0x4a, 0x1, 0x0, 0x80, 0x4a, 0x1, 0x0,
    0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0,
    0xc0, 0x42, 0x3, 0x0, 0xc0, 0x42, 0x3, 0x0, 0xc0, 0x42, 0x3, 0x0, 0xc0, 0x42, 0x3, 0x0,
    0x3f, 0xff, 0xfc, 0x0, 0x3f, 0xff, 0xfc, 0x0, 0x3f, 0xff, 0xfc, 0x0, 0x3f, 0xff, 0xfc, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xe0, 0xf, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x10, 0x10, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0x48, 0x26, 0x48, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x48, 0x44, 0x48, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x4, 0x40, 0x84, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x21, 0x8, 0x24, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3e, 0x7c, 0x3e, 0x7c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x42, 0x42, 0x42, 0x4a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8a, 0x49, 0xa6, 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x82, 0x41, 0x82, 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa6, 0x61, 0x96, 0x69, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0x7, 0xc0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x78, 0x5e, 0x7a, 0x1e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xfc, 0x3f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xe0, 0x7, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x7f, 0xff, 0xfe, 0x0, 0x7f, 0xff, 0xfe, 0x0, 0x7f, 0xff, 0xfe, 0x0, 0x7f, 0xff, 0xfe,
    0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11,
    0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11,
    0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11,
    0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11,
    0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11,
    0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11,
    0x0, 0xf8, 0x42, 0x1f, 0x0, 0xf8, 0x42, 0x1f, 0x0, 0xf8, 0x42, 0x1f, 0x0, 0xf8, 0x42, 0x1f,
    0x0, 0x87, 0xff, 0xe1, 0x0, 0x87, 0xff, 0xe1, 0x0, 0x87, 0xff, 0xe1, 0x0, 0x87, 0xff, 0xe1,
    0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1,
    0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1,
    0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1,
    0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1,
    0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1,
    0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1,
    0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1
};[/spoiler]
int alleemat[8][16] = {
    {1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,},
    {1,-1,1,0,1,-1,1,0,1,-1,1,0,1,-1,1,0,},
    {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
    {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
    {0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,},
    {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
    {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
    {0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,}};
int numero_ecran = 2;

//détermination de la matrice des collisions
H1 = 0;
    while (H1<8)
    {
        G1 = 0;
        while (G1<16)
        {
            if (numero_ecran == 1) matrice_collision[H1][G1] = alleemat[H1][G1];
            if (numero_ecran == 2) matrice_collision[H1][G1] = placemat[H1][G1];
            G1++;
        }
    H1++;
    }


//détermination de l'affichage
G2 =0;
    while (G2<129)
    {  
        if (numero_ecran == 1) dessinmap[G2] = allee[G2];
        if (numero_ecran == 2) dessinmap[G2] = place[G2];
        G2++;
    }
}


Mais il m'indique un system error :
TLB ERROR
TARGET = 00000000
PC = 00000000

Ajouté le 28/01/2016 à 20:39 :
Le system error arrive dès que l'on utilise matrice_collision

Ajouté le 29/01/2016 à 21:30 :
PS : je mets des while parce que j'aime pas les for
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 31/01/2016 11:45 | #


Je regarderai à l'occas'
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Xavier59 Hors ligne Membre de CreativeCalc Points: 1337 Défis: 12 Message

Citer : Posté le 31/01/2016 12:15 | #


Le plus simple pour passer un tableau à 2 dimensions, c'est de spécifier une des deux dimension :

int main(){
// ...
maFonction(tableau2D);
return 0;
}

void maFonction(int tableau2D[][5]){
if(tableau2D[i][j] == 3){

}
return;
}


Cependant, un moteur à 2 dimensions n'est pas vraiment conseiller pour un moteur de déplacement. Utilise plutôt un tableau à une seule dimension
1337
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 31/01/2016 13:31 | #


Merci Xav

Quand je spécifie une des deux dimensions, il me met : " Type not compatible for "=" " et ne build pas

Pourquoi un tableau 1D ? Mon perso à 2 coordonnées X et Y. Je trouve donc plus logique que la map soit codé dans un tableau 2D. Par exemple si mon perso est au coordonnée (1;2), pour savoir sur quel type de "bloc" il se trouve je regarde dans le tableau 2D à ces mêmes coordonnées

Si tu peux ce serait cool DS
Xavier59 Hors ligne Membre de CreativeCalc Points: 1337 Défis: 12 Message

Citer : Posté le 31/01/2016 14:07 | #


Tu peux poster ton code actuel ?
1337
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 31/01/2016 14:09 | # | Fichier joint


Et hop c'est en fichier joint

Xavier59 Hors ligne Membre de CreativeCalc Points: 1337 Défis: 12 Message

Citer : Posté le 31/01/2016 14:16 | #


Hm je vois. Tu as écrit :

int** matrice_collision[][16]


En fait, c'est faux. Ecrire matrice_collision[] reviens à *matrice_collision.

Ainsi tu dois juste écrire :


int matrice_collision[][16]
// Ou (mais à vérifier si ça fonctionne en mélangeant les deux).
int *matrice_collision[16]



1337
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 31/01/2016 14:19 | #


OH MON DIEU CA FONTIONNE !

Merci 100000000 fois Xav

Ajouté le 31/01/2016 à 14:26 :
je suis heureeeeux \o/ !
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 31/01/2016 14:51 | #


C'est devenu un monstre ton code Tu fais quoi avec tout ça ? Comment t'es devenu aussi bon si vite
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 31/01/2016 15:07 | #


Il est surtout pas très opti et mes initialisations de maps ne sont pas dans un autre fichier

Bah la c'est juste le tile mapping avec gestion des collision (mais pas des événements)

Je ne suis pas bon loin de là et c'est surtout grâce à vous
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 31/01/2016 15:52 | #


Ouvre le fichier… Trouve la fonction map… Se sent mal… Et…



Plus sérieusement, comment peux-tu coder comme ça sans indenter logiquement ?
J'espère que tu ne code pas directement dans l'éditeur du SDK, ça me ferai mal au coeur. De même, je te conseille (fortement) d'indenter avec des tabulations et non des espaces, comme ça tu ne peux pas avoir de trucs du genre :
    while (H<20)
    {  
     G = 0; // décalé par rapport à H++, et pis ça devrait être indenté par rapport au while
        while (G<20)
        {
             zone[H][G] = zone1[H][G];
             G++;
         } // Ici, c'est décalé
    H++; // Le but de l'indentation, c'est de faciliter la détection des blocs logiques. Pas de la compliquer…
    }

Ok ça marche, mais dès que tu va avoir un truc un peu plus conséquent ça sera l'enfer pour débugguer. Le point positif, c'est que tu as essayé d'indenter, mais va falloir faire un effort
T'as des sites qui t'indentent ton code automatiquement, pas forcément pratique pour les sprites, mais pour le gros du code ça peut te montrer ce qu'il faut faire ou non.

Ça, c'était pour la forme. Passons au fond.

Je te conseille d'utiliser des noms de variables explicites. Parce que si tu stoppe le projet 2 mois, je doute que tu fasse la différence entre X, Y, X2, Y2, X22, Y22, C, D, E et F.
Si t'as beaucoup d'informations à stocker, utiliser les structures du C. Ainsi, tu pourra écrire des trucs du genre :
if(player_1.x > 10) // faire quelque chose

map_1.data[2][3] = 4;

for(i = 0; i < map_2.length; i++) // faire quelque chose

inventory.weapons[3].upgrades[2].efficiency = 10; // un peu extrême, mais ça montre bien la facilité d'utilisation
// Dans cette ligne, on défini à 10 l'efficacité d'une amélioration (n°1) de l'arme n°2 de l'inventaire. Si on veut modifier autre chose, c'est pas plus compliqué.


Pour le reste, le code est tellement peu lisible que je n'arrive pas à le comprendre facilement.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 31/01/2016 15:58 | #


Merci d'avoir jeté un oeil DS. Mais ce qui me dérange c'est que mon code est parfaitement indenté et n'est pas du tout comme dans ta balise code ! Et j'utilise bien Tabulation.

Les structures m'ont l'air très sympa je vais regarder de plus près

Vraiment désolé de faire quelque chose de peu lisible je vais essayer d'arranger ça
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 31/01/2016 15:59 | # | Fichier joint


Voilà ce que j'ai en ouvrant le fichier…


Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 31/01/2016 16:00 | #


J'ai du me tromper de fichier quand je l'ai mis je remédies à ça de suite

Ajouté le 31/01/2016 à 16:03 :
C'est censé être mieux a ce niveau maintenant.
Fife86 Hors ligne Membre Points: 830 Défis: 0 Message

Citer : Posté le 31/01/2016 16:44 | #


Matt regarde ce lien il est plustôt pas mal pour l'affichage d'une map et pour la collision avec le décor.

https://openclassrooms.com/courses/tile-mapping

C'est ce procédé que j'ai utilisé pour mon moteur, tu trouvera le code dans le fichier Tilesmapping et Rigibody.
It's Show Time !!!
Mes Jeux :
- Street Fighter : Pour les accrocs du free-fight.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".


< Le recoin du C-Engine >
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 31/01/2016 16:53 | #


Merci Fife mais je préfère continuer dans mon truc vu que ça fonctionne
Fife86 Hors ligne Membre Points: 830 Défis: 0 Message

Citer : Posté le 31/01/2016 17:11 | #


Ok pas de problème
It's Show Time !!!
Mes Jeux :
- Street Fighter : Pour les accrocs du free-fight.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".


< Le recoin du C-Engine >
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 31/01/2016 17:22 | #


Si jamais je n'y arrive plus ou que ça ne me convient plus ton lien me sera très utile

Ajouté le 31/01/2016 à 17:58 :
J'ai un nouveau problème, lorsque l'on quitte avec EXIT, ce qui est censé mené à la fin du main au return 0, j'ai droit à un sublime system error

TLB ERROR
TARGET=00056694
PC=000068CC

Je ne vois pas d'ou ça pourrait venir Quelqu'un de charitable pour m'aider svp ?

Oui je sais ça fait beaucoup de problèmes désolé

Ajouté le 26/02/2016 à 22:56 :
Dernier problème corrigé

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 v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 86 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