Rappelons que, pour dire si Tim se déplace vers le haut ou vers le bas, nous avons besoin de savoir à quel étage il était lors de la dernière nous sommes arrivés. Donc, nous allons ajouter une autre variable globale qui nous allons utiliser pour contenir le nombre de l'étage précédent:
Ajouter variable globale : prevFloor (laissez le type par défaut comme «Numéro» et la valeur initiale 0).
Chaque fois que Tim tombe au fond de la disposition, on réinitialise la valeur initiale de 'prevFloor' dans le Player -> Est disposition extérieure cas:
Action: Système -> Valeur de consigne -> prevFloor: 0
[Réinitialiser prevFloor] [31]
Nous pouvons maintenant faire usage de tous ces éléments ajoutés à prix Tim le nombre approprié de points quand il saute sur un sol (et y reste). Mais comment ne notre jeu sait quel étage il a sauté sur?
Eh bien, rappelons que nous avons ajouté une variable exemple «plancher» à «Sol» dont la valeur correspond au niveau du plancher. Donc, une fois que le joueur a atterri sur le sol, nous pouvons tester cette valeur et augmenter le score par la valeur correspondante de la variable exemple les «points de. Nous avons juste besoin de savoir quelle instance de revêtement de sol le joueur a débarqué sur. Nous pouvons le faire en ajoutant une deuxième condition à l' Joueur | événement plate-forme Sur atterri :
[Ajouter ramasser le plus proche] [35]
Faites un clic droit sur le lecteur | Plate-forme Sur atterri état et ajouter cette condition:
Plancher -> (Choisissez) Choisissez le plus proche / le plus -> (qui) le plus proche / (X) player.x / (Y) Player.Y
Qu'est-ce que nous obtenir? Eh bien, comme le Manuel nous dit dans [Comment fonctionnent les événements] [23], «les instances concernées sont ...« cueillis »pour l'événement. Ensuite, les actions vont uniquement pour les cas choisis par les conditions." Dans ce cas, cela signifie que, chaque fois que les terres des joueurs, quel que soit Plancher exemple, il est plus proche de est ramassé, de sorte que lorsque nous ajoutons un sous-événement »Système ajouter Flooring.points de marquer» (que nous sommes sur le point de faire ) et que l'action s'exécute, le système connaît le nombre exact de points à ajouter sans que nous ayons à ajouter des événements distincts pour chaque instance Plancher . Cela fait partie de la puissance de Construct 2.
Alors maintenant nous avons juste à ajouter les actions supplémentaires qui seront exécutés lorsque les terres des joueurs sur un plancher. Ces actions seront ajoutés en tant que sous-événements de la Joueur | Plate-forme sur des captures débarquées / Revêtement de sol | Choisissez le plus proche ... condition de double:
[Sous-événements] [36]
Condition: Système -> Comparaison de deux valeurs -> La première valeur : prevFloor Comparaison : Moins de Deuxième valeur : Flooring.floor
Action: Système -> (Global et variables locales) Ajouter au -> variable : Note Valeur : Flooring.points
Action: Système -> (Global et variables locales) Valeur de consigne -> variable : prevFloor Valeur : Flooring.floor
Condition: Système -> Comparaison de deux valeurs -> La première valeur : prevFloor Comparaison : Supérieur ou égal Deuxième valeur : Flooring.floor
Action: Système -> (Global et variables locales) Valeur de consigne -> variable : prevFloor Valeur : Flooring.floor
Après tout ce travail, nous avons encore rien à montrer pour elle! Il est temps de créer le HUD (affichage tête-up).
Comme le montre la page 7 de la [Guide du débutant de construire 2] [24], nous devons ajouter un nouveau calque nommé «HUD». (Assurez-vous qu'il est au sommet, et sélectionné.) Sur ce, insérer deux objets de texte, un en haut à droite du nom de 'StatusText »et le second dans le centre de l'écran nommé« ResultText' (vous pouvez définir le texte Propriétés de l'objet à une police un peu moins simple). StatusText sera utilisé pour garder la trace de la partition et de la santé, et ResultText montrera soit «Game over», lorsque la santé de Tim réduits à zéro, ou «niveau 2 atteint« si il arrive à l'étage supérieur avec un score de 25 ou plus (nous laissons le changement réel au niveau suivant pour une autre partie de ce tutoriel).
Maintenant, nous pouvons ajouter un autre sous-événement à l' Joueur | Plate-forme sur débarqué / Joueur | chevauche Plancher condition de double pour montrer quand le niveau 2 a été atteint. Ce sous-cas a une paire de conditions:
Condition: Parquet -> Comparez variable d'instance -> étage: égal à: 3
Condition: Système -> (Global et variables locales) Comparer la variable -> variable : Note: Supérieur ou égal: 25
Action: ResultText -> Réglez texte :'' Le niveau 2 atteint "
Maintenant, pour le 'Game over' affichage, et la remise à zéro de la santé de Tim pour le prochain tour - ce sera un nouvel événement (nous avons terminé avec sous-événements):
Condition: Système -> (Global et variables locales) Comparer la variable -> variable : santé: Égal à: 0
Action: ResultText -> Set texte :'' Game over "
Action: Système -> (Global et variables locales) Valeur de consigne -> Santé: 3
Action: Système -> (Temps) Attendez -> secondes : 3
Action: ResultText -> Réglez texte :'' "(occultation de« Game over », prêt pour le prochain tour)
Enfin, alors que le jeu est en cours, nous devons garder le score et l'état de santé sans cesse mise à jour:
Condition: Système -> Chaque tic
Action: StatusText -> Réglez texte : "Note:" & marquer et "santé" et la santé
Eh bien, c'est la fin de cette deuxième partie de cette plate-forme tutoriel. Dans la partie suivante, nous allons voir monter au niveau 2 et contester Tim avec les plates-formes mobiles. Et s'il vous plaît envoyer vos commentaires sur ce que vous aimeriez voir dans d'autres parties (et n'hésitez pas à me dire ce qui doit corriger).
En attendant, si vous trouvez le jeu trop difficile, rappelez-vous que, en tant que constructeur de jeu, vous êtes libre de modifier les propriétés de comportement de la plate-forme pour le lecteur :).