GAMOPAT
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

+30
goux.m
ocin
eikacy
philip
ichigobankai
Tryphon
Spirale
uran
ekarrissor
flyz57
Ricco59_59
xtopher
tfdi
65c02
Stef
tetsuro
Top l'âne
TotOOntHeMooN
Doc_Skunkovitch
troudki
F.L
vingazole
kawickboy
doozerhhh
Cyrano75003
grostonton
upsilandre
ShiningBZH
vincent2105
drfloyd
34 participants

Page 26 sur 34 Précédent  1 ... 14 ... 25, 26, 27 ... 30 ... 34  Suivant

Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Mer 1 Mar 2017 - 23:45

Coucou,

Petite modification du court central !!
J'ai intégré un panneau d'information qui permettra de visualiser le score en cours ainsi que d'autres trucs ... Wink

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Dsqdqs10

Je vais sans doute modifier la police de base pour une une autre plus discrète.
A bientôt !

PS :
Excellent le Clip Ving' !! Je ne connaissais pas ... Wink

Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Jeu 2 Mar 2017 - 0:03

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Lol10
?
[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 418468
avatar
Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Jeu 2 Mar 2017 - 11:42

Ahah merci Kaot !! Wink

J'en ai fait une rapidos ce matin ...

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Hgh10

Un peu plus épurée. :)
avatar
Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par ichigobankai Jeu 2 Mar 2017 - 12:13

Perso je verrais bien de temps à autres des pub de boissons, produits dopants ou de laitage dans l'écran ^^
ichigobankai
ichigobankai
Patient incurable

Masculin Nombre de messages : 1922
Age : 45
Localisation : 49
Date d'inscription : 04/04/2011

https://www.2minds.fr

Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Jeu 2 Mar 2017 - 18:19

Ah oui !! Excellente idée !
Avec des marques inventées, des logos en monochrome ( ou couleur ) ... Ca serait très sympa !
En alternance avec l'affichage du score.

Merci pour l'idée ! Wink
avatar
Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par grostonton Jeu 2 Mar 2017 - 18:25

C'est super sympa, j'aime autant l'une que l'autre ! thumleft
grostonton
grostonton
Patient contaminé

Masculin Nombre de messages : 948
Age : 43
Localisation : Pezenas
Date d'inscription : 15/05/2009

https://grostonton.itch.io/

Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Jeu 2 Mar 2017 - 19:01

Merci beaucoup !! :)
Et en plus, je gagne quelques Tiles en VRAM avec ce panneau ! Wink

Ce matin, j'ai commencé à travailler sur l'intégration de mon nouveau moteur physique avec l'héritage de la coordonnée de la balle avec son référentiel {joueur}.
La travail est beaucoup plus simple qu'avec Bex ... :)
avatar
Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par F.L Jeu 2 Mar 2017 - 19:44

la description de ton public ça me fait penser à la campagne présidentielle de coluche : les blacks, les putes,ect...
vétéa président ! vétéa président Mr. Green
et sinon didier super, ça me rapelle mes premieres conneries trouvées sur le net, avec sa chanson "ingénieur informaticien", purée ça devait etre en an 2000-2001, ça commence à dater que diable ! MDR
F.L
F.L
Docteur *
Docteur *

Masculin Nombre de messages : 3432
Age : 49
Localisation : hérault
Date d'inscription : 11/06/2012

http://fl.basic.free.fr

Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Ven 3 Mar 2017 - 20:17

Coucou,

Et bien voilà, j'ai réussi à intégrer mes formules physiques non sans mal car il a fallut paramétrer les constantes avec la taille du terrain, contraintes de la MD, etc ... C'est pas un PC non plus ! Wink

Du coup, j'ai modélisé un coup simple sans effet qui va me permettre de travailler tous les autres ! Very Happy



La gestion avec le décor reste bien sûr à faire ! Wink
Mais je suis content d'avoir réussit à presque tout intégrer avec des données flottantes en FIX16 ... 
Génial ce SGDK !! amoureux
avatar
Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Ven 3 Mar 2017 - 21:10

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Captur10

juste un détail que me semble un peu étrange visuellement
Papi a une tête 2x plus grosse que tous les persos ?
avatar
Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Ven 3 Mar 2017 - 21:18

Oui et encore j'ai réduit son crâne ... Wink
Les autres personnages sont secondaires et donc plus petit ... Mais sans doute que je fais n'importe quoi après tout, c'est pas mon métier hein.  Mr. Green Mr. Green
avatar
Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par F.L Sam 4 Mar 2017 - 12:08

dans le public tu aurais pu mettre Belmondo et son york Wink
F.L
F.L
Docteur *
Docteur *

Masculin Nombre de messages : 3432
Age : 49
Localisation : hérault
Date d'inscription : 11/06/2012

http://fl.basic.free.fr

Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Sam 4 Mar 2017 - 12:14

Ahah !!
Ouais et Joey Starr qui fume un pétard. Wink

Ce que je fais surtout changer, c'est la taille de la balle, trop grosse là ... On dirait un ballon de foot jaune.  MDR
avatar
Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par uran Sam 4 Mar 2017 - 12:34

Tu m'as pas dit que t'avais repris !

Cool, à quand une démo jouable? Mon fils l'attend !

Vas-tu mettre le radar de balle aussi ? avec des messages tordus dessus également :)
Je suis également pour les fausses pub sur l'écran du fond, sinon c'est Nuls!
uran
uran
Patient contaminé

Masculin Nombre de messages : 373
Age : 45
Localisation : 34980
Date d'inscription : 17/10/2016

Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Sam 4 Mar 2017 - 12:45

Je viens de tester le prototype sur ma MD II ( merci encore Uran ! amoureux )
Bah, ça tourne trop bien .. Encore mieux que les émulateurs !!

Du coup, j'ai filmé quelques secondes avec le smartphone dans une main et le PAD de l'autre ...  [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 418468 [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 418468


La tremblotte du Papi ... rambo


Et oui Uran, je t'ai pas tout dit ... Faut dire qu'au boulot, ce n'est plus trop facile de causer ... Et puis en ce moment, c'est pas la joie pour ma compagne, je t'expliquerai.

Mais il y aura des Publicités en jeu oui, certainement !!! Very Happy
avatar
Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par uran Sam 4 Mar 2017 - 13:15

LA VACHE !!!!

T'es en avance pour Noël 2017 !!!
uran
uran
Patient contaminé

Masculin Nombre de messages : 373
Age : 45
Localisation : 34980
Date d'inscription : 17/10/2016

Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par F.L Sam 4 Mar 2017 - 13:24

Vetea a écrit:Ahah !!
Ouais et Joey Starr qui fume un pétard. Wink

Ce que je fais surtout changer, c'est la taille de la balle, trop grosse là ... On dirait un ballon de foot jaune.  MDR

ouais bof, joey star et les petards. je suis plus fan de belmondo
F.L
F.L
Docteur *
Docteur *

Masculin Nombre de messages : 3432
Age : 49
Localisation : hérault
Date d'inscription : 11/06/2012

http://fl.basic.free.fr

Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par vingazole Sam 4 Mar 2017 - 14:05

...


Dernière édition par vingazole le Sam 4 Mar 2017 - 19:33, édité 1 fois (Raison : marre...)
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Sam 4 Mar 2017 - 14:27

Oui bon .. Je ne suis pas un Seigneur Sith du code machine, et le SGdk me permet d'utiliser des nombres en virgules flottantes ( précision 16 ou 32 bits ) de manière brute comme le montre si bien la démo Sonic.
Je sais que c'est une hérésie au niveau cycle, tout ça, mais ça fonctionne et ça me convient.

Belmondo, Joey Starr ... Bref, comme indiqué plus haut, j'ai mis de tout et même des nudistes et des Junkies. Peut être une version porno avec des scènes de cul en tribune ... 

Et pour finir, ouais .. je crois que je communique trop. Sur ce, je vais faire caca.
avatar
Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par vingazole Sam 4 Mar 2017 - 14:31

Sinon bon caca, hein Wink


Dernière édition par vingazole le Sam 4 Mar 2017 - 19:34, édité 1 fois
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Sam 4 Mar 2017 - 14:46

Merci, ça fait du bien !  pig

Oui bref, je voulais dire que je peux utiliser des nombres à virgules genre 1.256 ou 3.1416, etc ... Je suis vraiment une brelle !  clown clown
avatar
Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par philip Sam 4 Mar 2017 - 14:56

Vetea a écrit:Oui et encore j'ai réduit son crâne ... Wink
Les autres personnages sont secondaires et donc plus petit ... Mais sans doute que je fais n'importe quoi après tout, c'est pas mon métier hein.  Mr. Green Mr. Green
Ta direction artistique est tout à fait pertinente, car cela autorise une bonne représentation des expressions/sentiments du personnage joueur. La balle et les personnages joueurs seront au centre de l'attention du joueur.
philip
philip
Docteur *
Docteur *

Masculin Nombre de messages : 2079
Age : 53
Localisation : 31350
Date d'inscription : 10/04/2011

http://philip-md.blogspot.fr/

Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Sam 4 Mar 2017 - 19:15

Coucou,

Après une grosse session de codage, j'ai vraiment bien avancé sur le moteur physique de la balle ! Very Happy
Le rendu sur la console est exceptionnel de fluidité ... Et beaucoup plus réaliste que l'ancien moteur !
Dans la vidéo, je simule un petit Lob .. Mais je pourrai modéliser pratiquement tous les coups ... Un truc de dingue ... Merci Stef & Sgdk ! amoureux
J'ai même géré le Zorder de la Balle/Filet ... On pourra voir la balle en avant ou arrière plan en fonction de sa position et de sa hauteur .. Pour dire !  [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 418468 [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 418468

Les travaux effectués :


- Gestion du rebond de la balle.
- Zorder de la Balle / Filet.
- Gestion de la hauteur de balle.
- Friction au sol.
- Gestion du rebond contre le mur de fond de court.
- Gestion de la direction.
- Scrolling dynamique.
- etc ...



J'ai encore à peaufiner en profondeur certain détail, mais je suis content de moi sur ce coup là. :)
Je pourrai même réaliser un jeu de Tennis/Mur .. Une sorte de simili Squash ...

PS : Merci Phillip ! Tu sais quand on a la tête dans le guidon, certain détail échappe.
avatar
Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par F.L Sam 4 Mar 2017 - 19:31

impressionnant !
le resultat est super réaliste, chapeau Cool

quand tu remercie sgdk, ça veut dire que tu n'aurais pas faire la meme chose avec bex ?
si c'est pas trop technique, pourrais tu expliquer la difference entre les deux langages pour gerer des effets de balle comme ça
F.L
F.L
Docteur *
Docteur *

Masculin Nombre de messages : 3432
Age : 49
Localisation : hérault
Date d'inscription : 11/06/2012

http://fl.basic.free.fr

Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Sam 4 Mar 2017 - 19:39

Merci FL ! :)

Et bien, Sgdk permet de gérer des nombres non entier, des nombres négatifs, de la trigo ( même si l'on peut utiliser des tables pour ça ^^ ), de gérer des sprites à (presque) n'importe quelle taille sans se prendre la tête à coller les bons blocs, a des outils super pratiques pour ripper des sons, de la musiques, des graphismes, permet de faire des auto-animation en réglant un index de vitesse, d'utiliser plusieurs "feuilles" dans ton code et de mieux organiser ton code, etc, etc ...

Mais on peut aussi faire ça avec Bex, mais c'est plus compliqué et demande de faire des routines spécifiques en ASM ou de trouver d'autres astuces.

SgdK est un vrai DevKit "Tout en un" ! Very Happy

Voilà en gros ! Wink
avatar
Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par F.L Sam 4 Mar 2017 - 19:46

merci pour ta réponse, rapide !
déja d'avoir des variables non entier et négatifs, ça doit changer pas mal de choses !
si j'avais eu cette possibilité, j'aurais fait un remake de crazy cars de meilleure qualité sur megadrive !
dommage que le langage soit trop "bas niveau" pour moi....
F.L
F.L
Docteur *
Docteur *

Masculin Nombre de messages : 3432
Age : 49
Localisation : hérault
Date d'inscription : 11/06/2012

http://fl.basic.free.fr

Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Sam 4 Mar 2017 - 19:48

Pas tant que ça en fait ... Si tu es un peu habitué au C maintenant, surtout avec ton travail sur PCE, tu peux sans problème faire un remake/autre projet en prenant ton code de base et ta manière de coder habituelle ! Wink

Mais j'imagine que changer de console ça fait du bien aussi ! Very Happy
avatar
Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par F.L Sam 4 Mar 2017 - 21:25

je ne penses pas que mon probleme vienne du c, mais plutot du reste.
j'ai plein de lacunes, par exemple je ne sais meme pas ce que veux dire vdp et j'en passe.
pour moi, l'ideal c'est de dire affiche cette image à tel endroit, sans me soucier du reste.
pourrais tu me donner un exemple tout bete d' un main qui affiche un background a l'ecran avec sgdk, ça me donnera une idée
merki d'avance
F.L
F.L
Docteur *
Docteur *

Masculin Nombre de messages : 3432
Age : 49
Localisation : hérault
Date d'inscription : 11/06/2012

http://fl.basic.free.fr

Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Invité Sam 4 Mar 2017 - 23:48

Je ne veux pas interférer sur mon sujet ... Mais je t'invite à lire ce bout de code.

Code:
#include <genesis.h>

#include "gfx.h"
#include "sprite.h"
#include "sound.h"

#define SFX_JUMP        64
#define SFX_ROLL        65
#define SFX_STOP        66

#define ANIM_STAND      0
#define ANIM_WAIT      1
#define ANIM_WALK      2
#define ANIM_RUN        3
#define ANIM_BRAKE      4
#define ANIM_UP        5
#define ANIM_CROUNCH    6
#define ANIM_ROLL      7

#define MAX_SPEED      FIX32(8)
#define RUN_SPEED      FIX32(6)
#define BRAKE_SPEED    FIX32(2)

#define JUMP_SPEED      FIX32(-8)
#define GRAVITY        FIX32(0.4)
#define ACCEL          FIX32(0.1)
#define DE_ACCEL        FIX32(0.15)

#define MIN_POSX        FIX32(10)
#define MAX_POSX        FIX32(400)
#define MAX_POSY        FIX32(156)


// forward
static void handleInput();
static void joyEvent(u16 joy, u16 changed, u16 state);

static void updatePhysic();
static void updateAnim();
static void updateCamera(fix32 x, fix32 y);

// sprites structure (pointer of Sprite)
Sprite* sprites[3];

fix32 camposx;
fix32 camposy;
fix32 posx;
fix32 posy;
fix32 movx;
fix32 movy;
s16 xorder;
s16 yorder;

fix32 enemyPosx[2];
fix32 enemyPosy[2];
s16 enemyXorder[2];

int main()
{
    u16 palette[64];
    u16 ind;

    // disable interrupt when accessing VDP
    SYS_disableInts();
    // initialization
    VDP_setScreenWidth320();

    // init SFX
    SND_setPCM_XGM(SFX_JUMP, sonic_jump_sfx, sizeof(sonic_jump_sfx));
    SND_setPCM_XGM(SFX_ROLL, sonic_roll_sfx, sizeof(sonic_roll_sfx));
    SND_setPCM_XGM(SFX_STOP, sonic_stop_sfx, sizeof(sonic_stop_sfx));
    // start music
    SND_startPlay_XGM(sonic_music);

    // init sprites engine
    SPR_init(16, 256, 256);

    // set all palette to black
    VDP_setPaletteColors(0, (u16*) palette_black, 64);

    // load background
    ind = TILE_USERINDEX;
    VDP_drawImageEx(PLAN_B, &bgb_image, TILE_ATTR_FULL(PAL0, FALSE, FALSE, FALSE, ind), 0, 0, FALSE, TRUE);
    ind += bgb_image.tileset->numTile;
    VDP_drawImageEx(PLAN_A, &bga_image, TILE_ATTR_FULL(PAL1, FALSE, FALSE, FALSE, ind), 0, 0, FALSE, TRUE);
    ind += bga_image.tileset->numTile;

    // VDP process done, we can re enable interrupts
    SYS_enableInts();

    camposx = -1;
    camposy = -1;
    posx = FIX32(48);
    posy = MAX_POSY;
    movx = FIX32(0);
    movy = FIX32(0);
    xorder = 0;
    yorder = 0;

    enemyPosx[0] = FIX32(128);
    enemyPosy[0] = FIX32(164);
    enemyPosx[1] = FIX32(300);
    enemyPosy[1] = FIX32(84);
    enemyXorder[0] = 1;
    enemyXorder[1] = -1;

    // init scrolling
    updateCamera(FIX32(0), FIX32(0));

    // init sonic sprite
    sprites[0] = SPR_addSprite(&sonic_sprite, fix32ToInt(posx - camposx), fix32ToInt(posy - camposy), TILE_ATTR(PAL2, TRUE, FALSE, FALSE));
    // init enemies sprites
    sprites[1] = SPR_addSprite(&enemies_sprite, fix32ToInt(enemyPosx[0] - camposx), fix32ToInt(enemyPosy[0] - camposy), TILE_ATTR(PAL3, TRUE, FALSE, FALSE));
    sprites[2] = SPR_addSprite(&enemies_sprite, fix32ToInt(enemyPosx[1] - camposx), fix32ToInt(enemyPosy[1] - camposy), TILE_ATTR(PAL3, TRUE, FALSE, FALSE));
    // select enemy for each sprite
    SPR_setAnim(sprites[1], 1);
    SPR_setAnim(sprites[2], 0);
    SPR_update();

    // prepare palettes
    memcpy(&palette[0], bgb_image.palette->data, 16 * 2);
    memcpy(&palette[16], bga_image.palette->data, 16 * 2);
    memcpy(&palette[32], sonic_sprite.palette->data, 16 * 2);
    memcpy(&palette[48], enemies_sprite.palette->data, 16 * 2);

    // fade in
    VDP_fadeIn(0, (4 * 16) - 1, palette, 20, FALSE);

    JOY_setEventHandler(joyEvent);

    while(TRUE)
    {
        handleInput();

        updatePhysic();
        updateAnim();

        // update sprites
        SPR_update();

        VDP_waitVSync();
    }

    return 0;
}

static void updatePhysic()
{
    u16 i;

    // sonic physic
    if (xorder > 0)
    {
        movx += ACCEL;
        // going opposite side, quick breaking
        if (movx < 0) movx += ACCEL;

        if (movx >= MAX_SPEED) movx = MAX_SPEED;
    }
    else if (xorder < 0)
    {
        movx -= ACCEL;
        // going opposite side, quick breaking
        if (movx > 0) movx -= ACCEL;

        if (movx <= -MAX_SPEED) movx = -MAX_SPEED;
    }
    else
    {
        if ((movx < FIX32(0.1)) && (movx > FIX32(-0.1)))
            movx = 0;
        else if ((movx < FIX32(0.3)) && (movx > FIX32(-0.3)))
            movx -= movx >> 2;
        else if ((movx < FIX32(1)) && (movx > FIX32(-1)))
            movx -= movx >> 3;
        else
            movx -= movx >> 4;
    }

    posx += movx;
    posy += movy;

    if (movy)
    {
        if (posy > MAX_POSY)
        {
            posy = MAX_POSY;
            movy = 0;
        }
        else movy += GRAVITY;
    }

    if (posx >= MAX_POSX)
    {
        posx = MAX_POSX;
        movx = 0;
    }
    else if (posx <= MIN_POSX)
    {
        posx = MIN_POSX;
        movx = 0;
    }

    // enemies physic
    if (enemyXorder[0] > 0) enemyPosx[0] += FIX32(0.7);
    else enemyPosx[0] -= FIX32(0.7);
    if (enemyXorder[1] > 0) enemyPosx[1] += FIX32(1.5);
    else enemyPosx[1] -= FIX32(1.5);
    for(i = 0; i < 2; i++)
    {
        if ((enemyPosx[i] >= MAX_POSX) || (enemyPosx[i] <= MIN_POSX))
            enemyXorder[i] = -enemyXorder[i];
    }

    fix32 px_scr, py_scr;
    fix32 npx_cam, npy_cam;

    // get sprite position on screen
    px_scr = posx - camposx;
    py_scr = posy - camposy;

    // calculate new camera position
    if (px_scr > FIX32(240)) npx_cam = posx - FIX32(240);
    else if (px_scr < FIX32(40)) npx_cam = posx - FIX32(40);
    else npx_cam = camposx;
    if (py_scr > FIX32(160)) npy_cam = posy - FIX32(160);
    else if (py_scr < FIX32(100)) npy_cam = posy - FIX32(100);
    else npy_cam = camposy;

    // clip camera position
    if (npx_cam < FIX32(0)) npx_cam = FIX32(0);
    else if (npx_cam > FIX32(200)) npx_cam = FIX32(200);
    if (npy_cam < FIX32(0)) npy_cam = FIX32(0);
    else if (npy_cam > FIX32(100)) npy_cam = FIX32(100);

    // set camera position
    updateCamera(npx_cam, npy_cam);

    // set sprites position
    SPR_setPosition(sprites[0], fix32ToInt(posx - camposx), fix32ToInt(posy - camposy));
    SPR_setPosition(sprites[1], fix32ToInt(enemyPosx[0] - camposx), fix32ToInt(enemyPosy[0] - camposy));
    SPR_setPosition(sprites[2], fix32ToInt(enemyPosx[1] - camposx), fix32ToInt(enemyPosy[1] - camposy));
}

static void updateAnim()
{
    // jumping
    if (movy) SPR_setAnim(sprites[0], ANIM_ROLL);
    else
    {
        if (((movx >= BRAKE_SPEED) && (xorder < 0)) || ((movx <= -BRAKE_SPEED) && (xorder > 0)))
        {
            if (sprites[0]->animInd != ANIM_BRAKE)
            {
                SND_startPlayPCM_XGM(SFX_STOP, 1, SOUND_PCM_CH2);
                SPR_setAnim(sprites[0], ANIM_BRAKE);
            }
        }
        else if ((movx >= RUN_SPEED) || (movx <= -RUN_SPEED))
            SPR_setAnim(sprites[0], ANIM_RUN);
        else if (movx != 0)
            SPR_setAnim(sprites[0], ANIM_WALK);
        else
        {
            if (yorder < 0)
                SPR_setAnim(sprites[0], ANIM_UP);
            else if (yorder > 0)
                SPR_setAnim(sprites[0], ANIM_CROUNCH);
            else
                SPR_setAnim(sprites[0], ANIM_STAND);
        }
    }

    if (movx > 0) SPR_setHFlip(sprites[0], FALSE);
    else if (movx < 0) SPR_setHFlip(sprites[0], TRUE);

    // enemies
    if (enemyXorder[1] > 0) SPR_setHFlip(sprites[2], TRUE);
    else SPR_setHFlip(sprites[2], FALSE);
//    for(i = 0; i < 2; i++)
//    {
//        if (enemyXorder[i] > 0) SPR_setHFlip(sprites[i + 1], TRUE);
//        else SPR_setHFlip(sprites[i + 1], FALSE);
//    }
}

static void updateCamera(fix32 x, fix32 y)
{
    if ((x != camposx) || (y != camposy))
    {
        camposx = x;
        camposy = y;
        VDP_setHorizontalScroll(PLAN_A, fix32ToInt(-camposx));
        VDP_setHorizontalScroll(PLAN_B, fix32ToInt(-camposx) >> 3);
        VDP_setVerticalScroll(PLAN_A, fix32ToInt(camposy));
        VDP_setVerticalScroll(PLAN_B, fix32ToInt(camposy) >> 3);
    }
}


static void handleInput()
{
    u16 value = JOY_readJoypad(JOY_1);

    if (value & BUTTON_UP) yorder = -1;
    else if (value & BUTTON_DOWN) yorder = +1;
    else yorder = 0;

    if (value & BUTTON_LEFT) xorder = -1;
    else if (value & BUTTON_RIGHT) xorder = +1;
    else xorder = 0;
}

static void joyEvent(u16 joy, u16 changed, u16 state)
{
    // START button state changed
    if (changed & BUTTON_START)
    {

    }

    if (changed & state & (BUTTON_A | BUTTON_B | BUTTON_C))
    {
        if (movy == 0)
        {
            movy = JUMP_SPEED;
            SND_startPlayPCM_XGM(SFX_JUMP, 1, SOUND_PCM_CH2);
        }
    }
}

Il s'agit du sample "Sprites" de référence.
Avec ça, tu peux pratiquement tout faire ... Wink
avatar
Invité
Invité


Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par F.L Dim 5 Mar 2017 - 0:50

oula ! MDR
merci pour l'exemple mais là c'est pas vraiment un truc simple que tu m'envoie. de quoi me vacciner carrement de sgdk
je m'attendais à qq lignes de codes ...
je t'envoie juste un exemple de Huc le + simple possible pour afficher une image de background pour que tu vois la difference et puis j'arette de polluer ton topic
bonne nuit !
Code:
#include "huc.h"
int VSyncCnt;
int TimerCnt;
int MainCnt;
int SubCnt;
/* chargement des tiles du titre */
#incchr(tiles_titre,"GFX/decor/titre.pcx",40,26 )
#incbat(map_titre,"GFX/decor/titre.pcx",0x1000,40,26 )
#incpal(paletteMAIN,"GFX/decor/titre.pcx" )
main()
{
set_xres( 320 );
disp_on();
/* affichage du background */
load_background(tiles_titre,paletteMAIN,map_titre,40,26);
};
F.L
F.L
Docteur *
Docteur *

Masculin Nombre de messages : 3432
Age : 49
Localisation : hérault
Date d'inscription : 11/06/2012

http://fl.basic.free.fr

Revenir en haut Aller en bas

[ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK   - Page 26 Empty Re: [ Demo Disponible !] - Papi Commando Tennis Megadrive - SGDK

Message par Ricco59_59 Dim 5 Mar 2017 - 8:49

Vetea a écrit:(...)

J'ai encore à peaufiner en profondeur certain détail, mais je suis content de moi sur ce coup là. :)
Je pourrai même réaliser un jeu de Tennis/Mur .. Une sorte de simili Squash ...

(...)
Complètement :)

un Papi s'adonnant à la pelote basque meme (2 joueurs)

Bonne continuation et bon courage
Ricco59_59
Ricco59_59
Patient contaminé

Masculin Nombre de messages : 502
Age : 57
Localisation : Tout près d'Arras
Date d'inscription : 25/07/2006

https://ricco59.itch.io/

Revenir en haut Aller en bas

Page 26 sur 34 Précédent  1 ... 14 ... 25, 26, 27 ... 30 ... 34  Suivant

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum