Partagez
Aller en bas
avatar
Masouf
Membre

Nombre de messages : 284
Age : 24
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Résolu [RM VX Ace] Faire l'écran suivre un évènement plutôt que le héros (Résolu)

le Mar 11 Juil 2017 - 9:55
Bonjour,
Pour mon projet Best Warrior, j'ai besoin que la "caméra" suive un évènement (ou les coordonnés x, y stokées dans des variables).
Ceci dans le but de faire en sorte que la "camera" reste entre le héros et un autre évènement, et bouge de manière à toujours être situé entre les 2 (ma part du boulot).

J'utilise les scripts "XAS" et "Input Ultimate 2.3" (qui me donne accès à toutes les touches du clavier et d'une manette).
Masouf,


Dernière édition par Masouf le Mar 11 Juil 2017 - 20:45, édité 1 fois
avatar
tibluedream
Membre

Nombre de messages : 922
Age : 29
Localisation : France, Rueil, près de Paris
Distinction : Poisson 2017 [Amal]
Poisson 2018 [Amal']
Date d'inscription : 05/09/2016

Résolu Re: [RM VX Ace] Faire l'écran suivre un évènement plutôt que le héros (Résolu)

le Mar 11 Juil 2017 - 13:19
bah si c'est juste ça tu centre ta caméra sur l'événement et tu la bouge en parallèle de l'event,

ou sinon tu stocke les coordonnées en x de cet événement et en y de ce même événement puis tu bouge la cam par rapport à ces coordonnées je suppose qu'il faudra faire un petit calcul pour centrer la cam avant

Pour stocker les coordonnées faut aller sur modifier une variable / autre / evenement = cet événement = carte x , carte y

je pense x+la moitié de la longueur de l'écran et y + la hauteur de l'écran

avant ça bien sûr faudra que la cam soit déjà amené et centré sur l'événement pour un aspect progressif ^^

Je ne sais pas si je suis très clair


Dernière édition par tibluedream le Mar 11 Juil 2017 - 13:45, édité 1 fois
avatar
Masouf
Membre

Nombre de messages : 284
Age : 24
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Résolu Re: [RM VX Ace] Faire l'écran suivre un évènement plutôt que le héros (Résolu)

le Mar 11 Juil 2017 - 13:23
comment tu fais pour " centre ta caméra sur l'événement" ?
avatar
tibluedream
Membre

Nombre de messages : 922
Age : 29
Localisation : France, Rueil, près de Paris
Distinction : Poisson 2017 [Amal]
Poisson 2018 [Amal']
Date d'inscription : 05/09/2016

Résolu Re: [RM VX Ace] Faire l'écran suivre un évènement plutôt que le héros (Résolu)

le Mar 11 Juil 2017 - 13:47
désolé je me suis trompé pour récupérer les infos j'ai modifier mon post d'avant pour corriger l’ânerie que j'ai dis

pour centrer la caméra tu prends les coordonnées stocké en x et en y de ton évent qui sont stocké dans une variable
chacun puis tu créé 2 autres variable pour stocker la nouvelle valeur centrer tu fais Xcentrer == X, Ycentrer == X
puis Xcentrer += largeurEcran /2, et Ycentrer +=HauteurEcran /2

Mais je ne suis même plus sûr qu'on ait besoin de faire ça essaie juste de faire pour commencer
ah bah j'étais persuader qu'on pouvait le faire en event mais faut gruger en faite vu que ta caméra ou le faire en script
je viens de m’apercevoir qu'on ne pouvait pas user de variable pour faire défiler la carte et qu'elle était calculé par rapport à ton perso et non la carte.

Du coup ça risque d'être plus compliqué. par ce moyen essai juste de faire défiler la carte jusqu'à l'autre événement et en process parallèle faire bouger ton event faut 2 event pour sa du coup
avatar
Mist'
Staffeux retraité

Nombre de messages : 3309
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Résolu Re: [RM VX Ace] Faire l'écran suivre un évènement plutôt que le héros (Résolu)

le Mar 11 Juil 2017 - 16:48
Il existe une commande "Faire défiler la carte" en évènements, sinon, tu peux probablement utiliser ces méthodes (ce qui revient plus ou moins au même) :

Code:
$game_map.scroll_up(distance)

Code:
$game_map.scroll_down(distance)

Code:
$game_map.scroll_left(distance)

Code:
$game_map.scroll_right(distance)

Et voici comment la caméra est définie comme étant centrée sur le joueur dans la classe Game_Player pour que tu aies un exemple :

Code:
def update_scroll(last_real_x, last_real_y)
    ax1 = $game_map.adjust_x(last_real_x)
    ay1 = $game_map.adjust_y(last_real_y)
    ax2 = $game_map.adjust_x(@real_x)
    ay2 = $game_map.adjust_y(@real_y)
    $game_map.scroll_down (ay2 - ay1) if ay2 > ay1 && ay2 > center_y
    $game_map.scroll_left (ax1 - ax2) if ax2 < ax1 && ax2 < center_x
    $game_map.scroll_right(ax2 - ax1) if ax2 > ax1 && ax2 > center_x
    $game_map.scroll_up   (ay1 - ay2) if ay2 < ay1 && ay2 < center_y
  end

Ca te donne une base pour faire des essais. Wink

_________________
avatar
Zexion~
Membre

Nombre de messages : 149
Age : 25
Localisation : France
Distinction : Gourou de la Secte des Endives [Yama']
Date d'inscription : 12/06/2017
http://www.lepalaiscreatif.net/

Résolu Re: [RM VX Ace] Faire l'écran suivre un évènement plutôt que le héros (Résolu)

le Mar 11 Juil 2017 - 18:14
Y'a déjà des scripts qui font ça très bien.

Je te recommande celui-ci : https://galvs-scripts.com/galvs-camera-control/
Son auteur est Galv, merci de le créditer.

Ensuite, pour faire ce que tu veux, tu n'as plus qu'à faire un appel de script :
Code:
cam_follow(event_id,speed)
où "event_id" est le numéro identifiant de l'événement, et "speed" la vitesse de déplacement de la caméra.

Pour ramener la caméra sur le héros ensuite, utilise simplement cet appel de script :
Code:
cam_center(speed)
avatar
tibluedream
Membre

Nombre de messages : 922
Age : 29
Localisation : France, Rueil, près de Paris
Distinction : Poisson 2017 [Amal]
Poisson 2018 [Amal']
Date d'inscription : 05/09/2016

Résolu Re: [RM VX Ace] Faire l'écran suivre un évènement plutôt que le héros (Résolu)

le Mar 11 Juil 2017 - 18:42
Très intéressant, merci Zexion du tuyaux je m'embrouillais, moi, dans mes explications ^^p
avatar
Masouf
Membre

Nombre de messages : 284
Age : 24
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Résolu Re: [RM VX Ace] Faire l'écran suivre un évènement plutôt que le héros (Résolu)

le Mar 11 Juil 2017 - 20:43
Merci, grâce à vous j'ai réussi à faire une caméra à la fois centrée sur le héros et sur un évènement.
Voici une démo de ce que j'ai fait.

En image:
Contenu sponsorisé

Résolu Re: [RM VX Ace] Faire l'écran suivre un évènement plutôt que le héros (Résolu)

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