• » Jeux Vidéo
  • » Toi aussi deviens indéveloppeur [Unity/UE4 pour platformers 2D osef]
y a-t-il qqun pour rebrancher le cerveau de binouz
Binouz

hichanbis - 02 Oct 2015

Quel effet tu recherches ? Le décor doit être exactement le même en explo qu'en combat, ou alors comme les anciens FF (je me rappelle plus si c'est le cas du 13), le décor change en fonction du type de terrain mais c'est pas la réplique fidèle ?

Pour le 1) suffit juste que tu mettes ton système de combat à l'endroit ou tu te balades, pas besoin de tp quoi que ce soit donc problem solved.

Pour le 2) je pense que tu peux faire une scène combat, et de faire chaque décor dans un prefab* (donc t'auras plein de prefab de décor différents) que tu instancies (Méthode Instantiate) suivant l'environnement d'ou le combat s'est lancé. Tu load la scene avec un LoadLevel normal, pas besoin d'additive ici (c'est pas une extension du monde ou tu te trouves)
* Si la notion de Prefab est encore un peu floue je te conseille de courir voir le tuto car c'est indispensable pour faire un jeu dans Unity.

Pour ce qui est la persistance des données, encore 2 solutions :

Faire des classes C# singleton (https://msdn.microsoft.com/en-us/library/ff650316.aspx) qui n'héritent pas de MonoDevelop (ce ne sont donc pas des scripts mais des classes C# normales) que tu peux appeler de partout.
WARNING : Le désavantage c'est que comme ça n'hérite pas de MonoDevelop tu ne pourras stocker aucun type propre à Unity (GameObject, Transform, Vector etc)

OU

Faire des GameObject persistant en appelant la méthode "DontDestroyOnLoad" au Start d'un script sur l'objet. Ce méthode ne détruit pas l'objet pendant une chargement, y compris les scripts associés.
WARNING  : Si tu utilises cette méthode tu dois alors faire une scène "vide" qui contiendra tous tes gameObject persistant et dont son seul rôle sera de te faire passer à la première "vraie" scene de ton jeu.

Parce que sinon, si tu as genre CombatManager dans la scene combat en DontDestroyOnLoad, et que tu retournes dans la scene "explo", le manager va te suivre, mais si tu retournes une nouvelle fois en combat, tu auras 2 CombatManager : Celui qui t'a suivi, et celui qui est naturellement dans la scène => pas bon.

J'ai répondu à tes interrogations ? smiley4 Sinon n'hésites pas !

Binouz (02 Oct 2015)