| [résolu] objet follow arg | |
|
|
Auteur | Message |
---|
tales Utilisateur confirmé: Rang *
Messages : 243
| Sujet: [résolu] objet follow arg Mar 30 Sep 2014 - 22:51 | |
| Hello!!
j'ai un bug depuis que j'ai changé la vitesse de la room.. Les objets censés être présents tout le temps à l'écran subissent un petit décalage avant de reprendre leur place quand l'objet qui est suivi par la camera se met à bouger!
Alors voilà j'ai mis un objet CAMERA qui suit le petit sprite qui indique quel Hero est sélectionné. J'ai mis ça dessus
if x>obj_selectH.x {x-=3} if x<obj_selectH.x {x+=3} if y<obj_selectH.y {y+=3} if y>obj_selectH.y {y-=3}
Car 3 est la vitesse des Heros. Au début je voulais simplement que GM suive l'objet de selection mais quand on passe d'un Hero à l'autre, la "camera" de GM saute d'un perso à l'autre et ça fait mal aux yeux!.. donc j'ai mis un objet CAMERA pour qu'il suive doucement l'objet de selection. Mais pour une raison que j'ignore, tous mes objets avec des
x=view_xview+100 y=view_yview+30
subissent un décalage.. si la CAMERA va vers la droite, les objets vont bouger de 3pixel, ensuite, ils suivent l'ecran et quand la camera s'arrête, ils rebougent de 3 pixels dans l'autre sens pour prendre leur place initiale.. donc pourquoi ça bouge?
Dernière édition par tales le Dim 5 Oct 2014 - 1:59, édité 1 fois |
|
| |
Mamie Wawa Très bonne participation
Messages : 112
| Sujet: Re: [résolu] objet follow arg Mar 30 Sep 2014 - 23:51 | |
| Tu peux faire x = obj_player.x / y = obj_player.y Et mettre l'objet player comme étant l'objet parent des autres player ( ton guerrier / mage / rogue / chaman / etc... ) Et puis dans les view de ta room tu fixe l'objet follow sur obj_player, et si tu veux mettre une sorte de friction tu peux changer la vitesse de la caméré de -1 à 1
Et si jmais tes items bougent quand tu bougent aussi ton personnage tu dois changer l'event step par end step ( pour syncroniser les nouvelles coordonnés correctement ) |
|
| |
tales Utilisateur confirmé: Rang *
Messages : 243
| Sujet: Re: [résolu] objet follow arg Mer 1 Oct 2014 - 0:36 | |
| oui j'ai déjà mis tous les déplacements ainsi que la position des objets fixes dans le end step et pourtant c'est pas synchronisé!.. c'est pour ça que je comprend pas bien.. |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: [résolu] objet follow arg Mer 1 Oct 2014 - 7:10 | |
| Mamie wawa a raison, regarde du coté des fonctions view_ dans la doc, tu peux définir une vitesse max pour le mouvement de la caméra et surtout changer l'objet qu'elle suit. Ca te permettrait de pas passer par un objet intermédiaire. _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
tales Utilisateur confirmé: Rang *
Messages : 243
| Sujet: Re: [résolu] objet follow arg Ven 3 Oct 2014 - 22:01 | |
| hummmm j'ai cherché là http://gamemaker.info/fr/manual/403_01_moving#view_current* et j'ai vu la fonction view_hspeed[0..7] Vitesse horizontale maximale de la vue. view_vspeed[0..7] Vitesse verticale maximale de la vue... mais ça change rien. La camera doit avancer à la même vitesse que le perso sélectionné, si elle va moins vite le perso va devoir s'arrêter pour l'attendre.. mais je comprend toujours pas cette histoire d'objet affiché en premier plan qui suit la view et qui tressaute un peu quand la camera bouge.. J'ai jamais eu ce soucis avec l'autre jeu.. j'avais réglé le soucis en mettant tout les deplacements en end step, mais là.. ça change rien.. PS : ça me soule parce que j'ai juste mis x=view_xview+100 y=view_yview+30 en end step et c'est tout! Dans l'autre jeu ça suit et point barre, je peux aller vite, changer de persos, faire tout ce que je veux, ça ne bouge pas de là! qu'importe la vitesse de la room et du reste!.. je me souviens très bien que j'avais eu ce soucis, et on m'avait dit de le mettre en end step et ça a tout résolu d'un coup... et là non.. en fait je suis en train de me dire que les seuls objets qui suivaient quelque chose dans l'autre jeu, c'était des objets qui suivaient des objets.. et en end step, ça synchronise tout.. mais là c'est des objets qui suivent la view.. et c'est ça qui n'est pas synchronisé.. J'ai mis 1 pour la vitesse de la camera et oui, au lieu de décaler de 3 pixels, ça décale de 1 pixel et ça se voit moins.. mais c'est horriblement lent et ça résout pas le soucis.. |
|
| |
Mamie Wawa Très bonne participation
Messages : 112
| Sujet: Re: [résolu] objet follow arg Sam 4 Oct 2014 - 10:06 | |
| Le 1 était tout simplement un exemple pour que le déplacement de la caméra soit instantané tu peux faire -1, sinon comme tu l'as toi-même dis, tes objets suivent ta view et pas ton objet donc c'est peut-être ça qui créé le décalage ( je ne sais pas à quel moment le changement de coordonnés opère sur la view ) donc au lieu de faire view_xview += a tu peux très bien faire obj_player.x += a Mais il faut que tu saches aussi que si tu fais ça et que ton personnage touche un bord de la room le hud ( ou toute chose que tu affiches à l'écran ) va pouvoir sortir aussi vu que ça suit le player et non pas la view Ou sinon encore tu peux utiliser l'event Draw Gui qui permet tout simplement de dessiner sur l'écran en tout circonstance et sur la depth la plus haute, donc je te conseil plutôt de passer par là |
|
| |
tales Utilisateur confirmé: Rang *
Messages : 243
| Sujet: Re: [résolu] objet follow arg Sam 4 Oct 2014 - 13:07 | |
| je sais que le 1 c'était pour l'exemple, mais si je met + de toute manière je reviens sur le problème du décalage. Je ne peux pas faire "obj_player.x += a " parce que les personnages bougent, ils sont pas au centre de la view, si je met "obj_player.x += a ", les fiches de persos vont se balader n'importe où à l'écran et suivre le perso.. et je pense que je peux pas faire de draw gui parce que c'est plein d'objet "interactif" qui doivent suivre l'écran.. fiche de perso, barre de vie, compétence etc.. |
|
| |
Mamie Wawa Très bonne participation
Messages : 112
| Sujet: Re: [résolu] objet follow arg Sam 4 Oct 2014 - 15:30 | |
| Bah alors le draw gui event correspond tout à fait à ce que tu veux faire, dans le cas présent un GUI ( graphical user interface ) ou tu peux donc afficher ta vie, tes spells, etc.. Fais un objet controller ou hud puis tu peuxle mettre persistant ainsi que son draw gui event tu met les différentes stats ( vie / mana ) et les autres trucs que tu veux ( spells / heures / boussole / etc ... ) Par exemple pour afficher la vie de ton perso tu fais un simple : - Code:
-
draw_rectangle_colour(1,1,(player_hp/player_hp_max)*healthbare_width,healthbare_height,colour_life,colour_life,colour_life,colour_life,false); Après les variable healthbare / colour_life tu les modifie selon ton envie Dans le cas présent ça te dessinera un rectangle dont la largueur dépendra des variables player_hp et player_hp_max Après si tu veux dessiner l'image d'un de tes spells tu peux aussi utiliser la fonction draw_sprite_ext ou draw_sprite Et au passage, j'aime beaucoup la palette graphique de ton jeu, bien joué ! |
|
| |
tales Utilisateur confirmé: Rang *
Messages : 243
| Sujet: Re: [résolu] objet follow arg Sam 4 Oct 2014 - 16:02 | |
| Okok je vais essayer! Mais on peut pas cliquer sur un sprite qui est draw il me semble? je vais laisser les objet mais les mettre invisible je crois.. et draw les sprite par dessus. Parce qu'on est censé cliquer sur les livres pour les ouvrir, les sorts pour les avoir, les carac pour les up.. Merci pour tout! |
|
| |
tales Utilisateur confirmé: Rang *
Messages : 243
| Sujet: Re: [résolu] objet follow arg Sam 4 Oct 2014 - 16:08 | |
| non en fait c'est toujours pareil!!!!!!!!!!! HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!! J'ai draw, draw end, draw gui, draw gui end, j'ai toujours ce décalage!!!!!!! XD |
|
| |
Mamie Wawa Très bonne participation
Messages : 112
| Sujet: Re: [résolu] objet follow arg Sam 4 Oct 2014 - 16:14 | |
| Tu as du te tromper quelques part, l'event draw gui ne peut pas etre en décalage étant donné qu'il dessine sur l'écran de l'utilisateur en tout circonstance, et sinon pour pouvoir cliquer sur un éléments du HUD tu peux mettre dans l'event step de ton objet hud : - Code:
-
if ( mouse_check_button_pressed(mb_left) { if ( point_in_rectangle(mouse_x,mouse_y,x1,y1,x2,y2) { // code } }
|
|
| |
tales Utilisateur confirmé: Rang *
Messages : 243
| Sujet: Re: [résolu] objet follow arg Dim 5 Oct 2014 - 1:46 | |
| haha tu as raison j'ai fais n'importe quoi!! xD en fait pour faire un test j'ai copié le draw des fiches de perso et je l'ai mis dans un draw gui end etc.. sauf que c'est des sprites qui sont positionné par rapport aux portaits des heros.. ceux qui bougent.. donc ça changeait rien.... DONC j'ai rendu les portaits invisibles, et je les ai réaffiché avec un draw normal et là effectivement ça suit!!! YOUHOU!! Trop la fête j'en ai pour des heures à retranscrire tous les objets en draw... Merci beaucoup à toi! par contre quand je met des draws, ça respecte bien la depth de l'objet, mais si je met un draw end, ça l'affiche en premier plan bizarre.. |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: [résolu] objet follow arg Dim 5 Oct 2014 - 8:10 | |
| Bah forcément, d'abord il affiche tous les trucs en draw, et ensuite il rajoute les draw_end. La solution ca peut etre de tout mettre dans les draw_end, mais je sais pas si ca risque de péter ton truc... :/ _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
tales Utilisateur confirmé: Rang *
Messages : 243
| Sujet: Re: [résolu] objet follow arg Lun 6 Oct 2014 - 14:32 | |
| non je peux pas, il y a des choses qui doivent apparaitre derrière d'autres! Mais draw ça marche très bien, j'ai plus de décalage!..
Par contre j'ai des objets "déplaçables"... donc je peux pas cacher les objects et afficher un draw par dessus dans ce cas :s vu que l'objet va être déplacé et le draw ne va pas bouger... |
|
| |
tales Utilisateur confirmé: Rang *
Messages : 243
| Sujet: Re: [résolu] objet follow arg Mar 7 Oct 2014 - 17:08 | |
| je comprend vraiment pas en fait.. je suis en train de remplacer TOUT ce qui était affiché à l'écran et qui devait le suive par des draws.. Mais pourquoi les "draw" posés sur les view suivent l'écran parfaitement alors que tout les autres objets qui ont une position par rapport aux views subissent un décalage?... les autres objets étaient décalés et je pensais que c'était parce qu'ils suivaient un autre objet qui lui était posé sur les views.. mais je vois que même les objets posées directement sur les views se décalent quand la camera bouge.. même en end step.... |
|
| |
Contenu sponsorisé
| Sujet: Re: [résolu] objet follow arg | |
| |
|
| |
| [résolu] objet follow arg | |
|