scrolling différentielle et incohérence dans le déplacement  Hitskin_logo Hitskin.com

Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thèmeRetourner sur la fiche du thème



AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
Le Deal du moment : -19%
PC portable MSI Gaming Pulse 16” -Ultra7 155H ...
Voir le deal
1299 €

 

 scrolling différentielle et incohérence dans le déplacement

Aller en bas 
5 participants
AuteurMessage
chopsuey
Utilisateur confirmé: Rang ***
chopsuey


Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyLun 21 Nov 2011 - 21:55

salut tous le monde ! bon alors voila sa va bientôt faire 3 semaine que j'essaye de faire un scrolling réaliste avec une impression de distance comme je l'avais expliquer sur ce post https://cbna.forumactif.com/t11370-question-backgrounds. sa va faire 3 semaine que je n'ai pas avancé dans mon jeu, pire en faite j'ai reculer car j'ai tous recommencer tant mon jeu était en désordre je ne mit retrouvais plus du tout j'avais plusieurs objet pour mon perso mort2. alors j’essaie de tous refaire mais j'ai 2 problème

le 1er lorsque je décale mon perso jusqu’à qu'il fasse bouger la view à droite la montagne et le ciel ce déplace en même temps qu'elle mais un peu moins vite pour obtenir l'effet de profondeur rechercher, sauf que si je me tourne à gauche et que je me retourne à droite alors le décore se décale de quelque pixel à droite puis à gauche laissent une impression de tremblement de l'écran.

2eme problème quand j’appuie sur D hspeed=2 et le sprite= sprite du perso qui marche à droite, quand je relâche D hspeed=0 et le sprite= sprite du perso à l'arrêt. et c'est exactement la même chose mais à l'inverse pour Q direction à gauche et ce qui est étrange c'est que lorsque j'appuie sur D puis sur Q en mème temps le perso se déplace à gauche avec le sprite pour marcher à gauche mais la subimage rèste à 0 donc l’animation ne ce fait pas. jusque la c'est normale étend donné que j'ai la touche D enfoncer mais si j'appuie sur Q puis sur D le perso ne ce déplace pas vers la droite en changeant de sprite il continue sa trajectoire à gauche en restant bloqué sur la subimage 0 alors pourquoi avec un mème code inversé le résulta n'est pas le même pour la gauche et la droite ? le problème c'est que du coup je n'arrive pas à faire en sorte que lorsque j'appuie sur D+Q le perso s'arrête avec le sprite du perso à l'arrêt orienté vers la droite si j'ai fait D+Q et vers la gauche si j'ai fait Q+D. si vous vous demandez pourquoi je n'utilise pas pour me déplacé x+=2 se qui pourrais évité certains problèmes c'est par ce que quand je saute avec dans mon code x+=2 au lieu de hspeed=2 lorsque je retombe il y a denouveau le même décalage que dans mon 1er problème. voila c'est un peut compliqué à comprendre peut être alors je vous laisse télécharger si vous voulez bien m'aider mon fichier .gm81
http://www.host-a.net/u/shopsueys/hero_test.gm81


si vous n'avez pas gm81 je suis prêt à vous faire un exemple sur Gm6.


Dernière édition par chopsuey le Ven 25 Nov 2011 - 16:56, édité 1 fois
Revenir en haut Aller en bas
Wargamer
*Excellent utilisateur*
Wargamer


Messages : 6938
Projet Actuel : Bataille de cake au fruits

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyMer 23 Nov 2011 - 16:05

J'avais lu ton message mais j'avais pas lu la dernière partie.
Envoie un GM6 ca serait sympa. J'ai que GM 8.0 je peux pas ouvrire ton fichier.
Revenir en haut Aller en bas
chopsuey
Utilisateur confirmé: Rang ***
chopsuey


Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyMer 23 Nov 2011 - 20:56

http://www.host-a.net/u/shopsueys/test2.gm6

c'est pas mon jeu hein seulement un exemple dwarf
Revenir en haut Aller en bas
Wargamer
*Excellent utilisateur*
Wargamer


Messages : 6938
Projet Actuel : Bataille de cake au fruits

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyJeu 24 Nov 2011 - 1:14

Pour le #1 c'est relativement simple de ce que je vois.
Tu utilise h_speed pour déplacer ton perso, ce qui fait qu'il continue de se déplacer même après que tu ait appuyer sur la touche.
La view suit le perso alors que tu n'appuit plus, ce qui entriane le décalage de 2-3 pixel quand tu recule puis revient, x_view n'a pas la dernier valeur de ta view.

pour le 2, c'est une question d'ordre d'exécution.
GM voit 2 touche, Q et E, il va voir E, il change le sprite, met l'animation à 0. Puis il va voir Q, Le sprite est celui de droite, alors il le change et met l'animation à 0.
Puis il recommence, il fait E et voit que c'est pas le sprite de gauche, met lui de droite, etc...

Je connais pas assez ton code poru le corriger par contre.
Revenir en haut Aller en bas
chopsuey
Utilisateur confirmé: Rang ***
chopsuey


Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyJeu 24 Nov 2011 - 7:19

merci mais pour mon 1er problème je vois pas ce que je suis sensé faire j'ai bien essayé de replacer mes hspeed=2 par x+=2 mais sa change rien.
Revenir en haut Aller en bas
chopsuey
Utilisateur confirmé: Rang ***
chopsuey


Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyJeu 24 Nov 2011 - 20:58

voila une video de rayman à fin d'illustré se que je tente de de faire.

http://www.jeuxvideo.com/extraits-videos-jeux/0003/00037351/rayman-origins-xbox-360-cooperation-00009710.htm

j'ai choisie rayman mais sa peut ètre n'importe quelle jeu de plate forme crée après 1990, regardez l'arrière plan c'est se genre de scrolling que je veux. je trouve sa étrange qu'il n'y est pas un tuto un post ou un gm6 à se sujet alors que tous bon jeu de plate forme fonctionne ainsi. qu'elle qu'un ici à forcément dut essayer ? personne ne peut m'aider ?
Revenir en haut Aller en bas
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyVen 25 Nov 2011 - 2:13

Ha, le scrolling différentielle snowm

Le principe est simple, tu calcule la vitesse de la camera comme ça :

Code:

[create]
old_camx = view_xview;
old_camy = view_yview;
cam_xspeed=0;
cam_yspeed=0;

[step]
cam_xspeed=view_xview-old_camx;
cam_yspeed=view_yview-old_camy;


Ensuite, une fois que t'as la vitesse de la cam, tu multiplie par un certain coefficient pour chaque calque de l'arrière plan, par exemple :

background_x[0] += cam_xspeed*0.5;
background_y[0] += cam_yspeed*0.5;

background_x[1] += cam_xspeed*0.25;
background_y[1] += cam_yspeed*0.25;

Et voilà !

Bon, c'est pas la meilleur technique, perso j'ai fait mon scroll différentiel en utilisant des règles de proportionnalité, tout dépend de si ton background est tileable ou pas (tileable ça veut dire que tu peux le répéter)
Revenir en haut Aller en bas
chopsuey
Utilisateur confirmé: Rang ***
chopsuey


Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyVen 25 Nov 2011 - 15:32

merci termite pour ta réponse mais il y a un petit problème j'ai mis
if keyboard_check_(ord('D'))
{background_x[0]+= cam_xspeed*0.2;}

mais le backgrounds va de plus en plus vite j'ai l'impression qu'il additionne sa propre vitesse à chaque step.
Revenir en haut Aller en bas
chopsuey
Utilisateur confirmé: Rang ***
chopsuey


Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyVen 25 Nov 2011 - 22:06

du coup j'ai enlever le + dans background_x[0] += cam_xspeed*0.5;

mais le problème est exactement le même qu'avec mon ancien code. snif
Revenir en haut Aller en bas
PsycKho
Très bonne participation
PsycKho


Messages : 154
Projet Actuel : http://www.sharedojo.netai.net/

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptySam 26 Nov 2011 - 23:41

Faut pas l'enlever, faut le remplacer par un moins.
Nvm. J'regarde pour te faire un exemple. Sur GM8 ça te va?

Il manquait l'actualisation du oldxview

Code:
cam_xspeed=view_xview-old_camx;
cam_yspeed=view_yview-old_camy;
old_camx = view_xview;
old_camy = view_yview;

Voilà. Après, personnellement j'utilise pas les backgrounds de game maker parce qu'il faut trouver une système : Les backgrounds ne bougent pas immédiatement, y'a un décalage. Donc ton scroll va commencer en décalage et terminer en décalage. À ta place, j'utiliserais un draw (avec le même calcul qui lui marche très bien.)
Revenir en haut Aller en bas
http://www.sharedojo.netai.net/
chopsuey
Utilisateur confirmé: Rang ***
chopsuey


Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyDim 27 Nov 2011 - 12:09

merci oui je veu bien un exemple j'ai essayer avec ton code et effectivement il y a toujours un décalage pourait tu faire le même système pour les tiles dans ton exemple ? tu peut utiliser mon gm6 pour l'exemple http://www.host-a.net/u/shopsueys/test2.gm6
Revenir en haut Aller en bas
PsycKho
Très bonne participation
PsycKho


Messages : 154
Projet Actuel : http://www.sharedojo.netai.net/

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyLun 28 Nov 2011 - 1:30

Citation :
Voilà. Après, personnellement j'utilise pas les backgrounds de game maker parce qu'il faut trouver une système : Les backgrounds ne bougent pas immédiatement, y'a un décalage. Donc ton scroll va commencer en décalage et terminer en décalage. À ta place, j'utiliserais un draw (avec le même calcul qui lui marche très bien.)
Revenir en haut Aller en bas
http://www.sharedojo.netai.net/
chopsuey
Utilisateur confirmé: Rang ***
chopsuey


Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyLun 28 Nov 2011 - 7:09

oui mais j'ai essayer mais je n'y arrive pas j'ai draw le bg depuit un autre objets draw_background_(ciel1,0,0);

et dans le step de mon perso j'ai mis

background_x[ciel1] += cam_xspeed*0.5;
background_y[ciel1] += cam_yspeed*0.5;

mais sa ne décale rien
Revenir en haut Aller en bas
master47
Utilisateur confirmé: Rang *****
master47


Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyLun 28 Nov 2011 - 9:04

Logique ! Ton background est dessiné dans l'autre object à la position (0;0), pourquoi ? parce que tu a écris :
Code:

draw_background( ciel1, 0, 0);

la définition de la méthode étant draw_background( id, x, y)

Tu dois plutôt écrire :
Code:

draw_background( ciel1, global.Ciel1X, global.Ciel1Y);

et dans step :
Code:

global.Ciel1X += cam_xspeed*0.5;
global.Ciel1Y += cam_yspeed*0.5;

Remarque que je n'ai pas écris background_x[ciel1], c'est parce que background_x n'assigne pas X à un background via son ID, background_x[n] attribue la position x au background à la position n dans le tableau background_index[]. Je ne sais pas si j'ai été assez clair.
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
chopsuey
Utilisateur confirmé: Rang ***
chopsuey


Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyLun 28 Nov 2011 - 17:50

merci master47 sa marche parfaitement, mais tu à mis les x et les y en majuscule et du coup sa marchait pas je le précise juste pour ce qui serait intéresser par le scrolling différentiel et qui tomberais sur ce sujet. merci à vous tous awesome
Revenir en haut Aller en bas
master47
Utilisateur confirmé: Rang *****
master47


Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyLun 28 Nov 2011 - 18:02

lol j'ai fais ça à l'arrache Oups! gnii
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
chopsuey
Utilisateur confirmé: Rang ***
chopsuey


Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  EmptyDim 4 Déc 2011 - 11:13

bon je pensais que j'en avais enfin fini avec le scrolling différentielle mais finalement sa ne marche pas comme il le faudrait.
en faite si je met
global.Ciel1X += cam_xspeed*0.5;
global.Ciel1Y += cam_yspeed*0.5;

tous marche bien mais si je veux faire en sorte d'avoir un décor qui paraitrait plus fixe à l’écran donc plus éloigné il faux que le coefficient soit plus proche de 1 donc par exemple

global.Ciel1X += cam_xspeed*0.8;
global.Ciel1Y += cam_yspeed*0.8;

mais du coup le décalage refait son apparition, plus je me rapproche de 1 et moins sa va
Revenir en haut Aller en bas
Contenu sponsorisé





scrolling différentielle et incohérence dans le déplacement  Empty
MessageSujet: Re: scrolling différentielle et incohérence dans le déplacement    scrolling différentielle et incohérence dans le déplacement  Empty

Revenir en haut Aller en bas
 
scrolling différentielle et incohérence dans le déplacement
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Deplacement en 2D Scrolling du personnage à la Souris (left-right)
» [Résolu] Déplacement de la view dans une seul direction !!!
» Rapidité des differents scrolling
» objet visible dans une view et pas dans l'autre
» Créer instance aléatoirement sauf dans un mur ou dans la vue.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: