Chapitre Un – Création du controlleur de personnage
Maintenant que vous avez une cocquille valide de jeu qui compile, c’est le temps de mettre un peu de sauce piquante. Ajoutez de nouveau une classe suivante les instructions précédente (similaire à la classe GameInfo (Voir la référence de création de script unreal.). Nommer le nouveau fichier “IsometricGamePlayerController”.
Vous devriez avoir de nouveau une classe qui dérive de la classe Object comme dans l’image suivante :

Maintenant changez extends Object pour GamePlayerController. Ques-ce que le Game Player Controller ? En français c’est le controlleur principal du personnage principal, il prend en charge les entrés de souris et clavier ou manettes de consoles et permet d’interagir avec l’avatar dans le monde 3d que vous créez avec UDK.
Lorsque vous bougez la souris ou appuyez sur des touches, cette classe pourra obtenir l’évènnement et réagir en conséquence. Cette classe aura également de l’intelligence artificielle de base que nous implémenterons dans les chapitres subséquents. Nous incluerons par exemple, une méthode de navigation nommé path finding.
La première chose que vous voudrea ajouter, sera une fonction test pour être certains que votre controlleur est correctement intégré dans le jeu à partir de votre classe GameInfo. Pour ce faire, nous allons ajouter des éléments dans la partie spéciale de la classe GameInfo nommé DefaultProperties. Voici l’évènnement à ajouter dans votre nouveau controlleur :
simulated event PostBeginPlay()
{
super.PostBeginPlay();
`Log(“I am alive !”);
}
Cette fonction est exécuté automatiquement lorsque l’engin d’Unreal executera la fonctionnalité “RestartLevel” ou lorsque vous taperez cette commande dans la console de jeu qui est disponible sur TAB lors de l’éxecution. le mot réservé super indique que nous voudrons exécuter la même fonction dans la classe parente. Ceci permet de ne pas perdre de fonctionnalités que EPIC aurait incluses dans la classe GamePlayerController. On appelle cela de la surcharge de fonction, si vous n’êtes pas familier il faudrait vous instruire sur la programmation orienté objet.
Maintenant, nous allons inclure la classe dans notre jeu et pour ce faire nous allons intervenir dans la classe GameInfo que vous avez créé précedemment pour le jeu. Il faudra souvent ajouter ce genre d’instruction dans les propriétés par défaut pour permettre d’inclure certaines classes qui sont spécifié dans les classes parentes. Nous allons donc écrire l’instruction qui permettra à la classe GameInfo d’utiliser la classe GamePlayerController. Nous allons donc directement intervenir dans la section DefaultProperties du fichier IsometricGameInfo. Normalement la section DefaultProperties est utilisé pour inscrire toutes les valeurs par défaut des variables membre d’une classe.
Dans le concret, vous pouvez inspecter la classe GameInfo.uc à la ligne 1097 et voir la magie de l’instantiation de la classe controlleur spécifié par la variable qui représente notre classe de controlleur. C’est directement cette opération qui permet à UDK de savoir qu’elle est la classe qui permettra de faire fonctionner le personnage principal.
Ajouter finalement l’instruction suivante à la classe IsometricGameInfo :
DefaultProperties
{
PlayerControllerClass=class‘IsometricGamePlayerController’
}
Le mot clé class’…’ en bleu permet de spécifier au compilateur que nous voulons que la variable contienne une référence à un prototype de classe et non pas une instance de classe.
- Appuyez sur le bouton Play et regardez la fenêtre de log

Votre controlleur est bien ajouté et vivant avant le ########## Finished loading level...
Chapitre Un – Création de la caméra isométrique