Se connecter

Informatique

Création de Jeux

Sujet : J'aide les gens dans c++
1
punkCoder
Niveau 4
12 juillet 2024 à 14:34:08

Ca vaut aussi pour ceux qui sont dans unreal parce que le blueprint est converti en c++ donc ce sont les mêmes règles.

On va débuter par le début, le pattern de base des jeux vidéo: la state machine.

La statemachine de jeu est préprogrammée dans Unreal, en revanche la statemachine de pawn c'est à vous de la créer.

La petite subtilité à savoir c'est qu'il faut utiliser le polymorphisme (typer un objet state par sa classe-mère) pour empêcher le bug de compilation des include circulaires en entête, les classes-filles n'étant appelées que dans le corps cpp.

Chez moi ça donne un truc de ce genre:

En header:

#include "UI_Pawn_Human_Action.h"
UI_Pawn_Human_Action * m_waitAction, * m_walkAction;

En corps:

#include "UI_Pawn_Human_Action_Wait.h"
#include "UI_Pawn_Human_Action_Walk.h"
m_waitAction = new UI_Pawn_Human_Action_Wait(this);
m_walkAction = new UI_Pawn_Human_Action_Walk(this);
GameBranleur
Niveau 3
18 juillet 2024 à 15:58:28

Il faut expliquer les pointeurs aux jeunes.

Un pointeur de variable est l'adresse mémoire de la variable, donc un tableau à une seule case.

Un pointeur de tableau est l'adresse mémoire de la case zero du tableau, donc un tableau dont on ne connait pas la taille.

Un pointeur d'objet est l'adresse mémoire de l'objet.

GameBranleur
Niveau 3
18 juillet 2024 à 16:01:59

Voici l'équivalent dans vos langages interpretés (python, c#, javascript, etc):

- pointeur de variable: un tableau à une seule case

- pointeur de tableau: une référence au tableau

- pointeur d'objet: une référence d'objet

seule la syntaxe change mais ça fait exactement la même chose que c++

1
Sujet : J'aide les gens dans c++
   Retour haut de page
Consulter la version web de cette page