- 1. Commencer avec OdyC
- 2. Nommer Votre Jeu
- 3. Le Héros
- 4. Comment dessiner ?
- 5. La Carte
- 6. Les Dialogues
- 7. Les Sons dans le Jeu
- 8. Paramètres Avancés des Templates
- 9. La Caméra
- 10. Intégration des Événements
- 11. Manipulation de la Cible de l'Événement
- 12. Modification Dynamique du Héros
- 13. Interagir avec les Cases Spécifiques
- 14. Modification Globale des Modèles
- 15. Orchestration des Dialogues, Sons, et Fins de Jeu
- 16. Charger Dynamiquement des Cartes
Dans cet exemple, la clé et la porte disparaissent lorsque le joueur arrive sur leurs cases. Nous souhaitons que, lorsque le joueur “ramasse” la clé, la porte ne soit plus solide, permettant ainsi au joueur de passer.
Pour réaliser cela, vous pouvez utiliser la fonction getCell
, accessible via le contexte du jeu. Cette fonction prend deux nombres en arguments, correspondant à une position, et retourne l’objet situé à cette position. Voici comment l’utiliser :
Dans l’exemple fourni, nous utilisons getCell
pour rendre la porte (située à la position [5, 4]) non solide après que le joueur ait ramassé la clé. Cela ouvre de nouvelles possibilités pour créer des puzzles et des mécanismes de jeu interactifs, où les actions du joueur peuvent avoir un impact direct sur l’environnement de jeu.
Expérimentez avec getCell
pour modifier l’état des cases de manière dynamique, enrichissant ainsi l’expérience de jeu avec des interactions et des défis variés.
Loading editor...
const game = createGame({ player: { sprite: ` ...00... ...00... .000000. 0.0000.0 0.0000.0 ..0000.. ..0..0.. ..0..0.. `, position: [1, 0] }, templates: { X: { sprite: 2, }, D:{ sprite: ` ...99... ..9999.. .999999. .999999. .999959. .999999. .999999. .999999. `, onEnter: function(target){ target.remove() } }, E: { sprite: ` 01010101 10101010 01010101 10101010 01010101 10101010 01010101 10101010 `, sound: createSound("POWERUP"), end: "Bravo" }, K:{ sprite: ` ...5.... ..5.5... ..5.5... ...5.... ...55... ...5.... ...55... ...5.... `, dialog: "Vous avez trouvé une clé!", sound: createSound("PICKUP"), solid: false, onEnter: function(target){ target.remove() } } }, map: ` .....X.. .....X.. .....X.. .....X.. .....D.E .....X.. .....X.. .K...X.. ` })