Ressources Magic Makers

 

Site en maintenance

 
Nous sommes actuellement entrain de mettre à jour les ressources de ce site.
Pendant la mise à jour vous pouvez retrouver tous les nouveaux contenus sur le site
 

https://lp-magicmakers.fr/

 
 

Construis un portail de téléportation

nécessite : un sprite de portail et un sprite de destination .

❗ donne une couleur vive et ‘moche’ à ton sprite de destination pour le tester. Une fois que tu es sûr qu’il n’y a pas de bug tu peux décocher le fait qu’il est visible dans ses paramètres

Le concept : tu déplaces ton joueur à la position du sprite de destination au moment où il touche le portail. 

Dans les événements : en condition on aura  lorsque ton joueur entre en collision avec le portail et en action tu vas définir la position du joueur et utiliser le système d’expression pour prendre la position en X et en Y de ton sprite de destination

Installe des Checkpoints, killzones et points de réapparition

nécessite : un sprite de checkpoint

Tu vas placer un sprite pour marquer le point de réapparition. Lorsque le personnage meurt, tu renvoies le joueur à cet endroit. Quand le personnage est hors de la scène tu le remets à la position X et Y du sprite de check point

/!\ cette méthode entre en conflit avec le comportement “détruire hors de la scène”. Mieux vaut faire les évènements à la main (quand mon personnage sort de la scène alors il est détruit puis un événement quand ton sprite est détruit « redémarrer la scène »).

Crée une tourelle ennemie

Gère les points du joueur

Change de niveau

Crée la scène du niveau suivant.

Crée un sprite qui va servir de drapeau de fin de niveau ou de “détecteur de fin de niveau”.

Dans la feuille d’événements quand le personnage entre en collision avec cet objet, tu pourras aller à la scène suivante…

Implémente du Screenshake

nécessite : une caméra qui suit le joueur (comportement défiler vers)

Le concept : faire trembler la caméra pour accentuer certsaines actions de jeu. 

Dans la feuille d’événements :

Le comportement défiler vers a deux actions possibles. L’une d’elle est le screenshake.
Tu auras simplement besoin de choisir à quel moment tu veux activer le screenshake (par exemple quand le joueur entre en collision avec un ennemi).
À ce moment, ajoute en action de l’événement “faire trembler”.

Tu auras une action qui ressemblera à ceci :

Affiche les points de vie avec du texte

nécessite : un système de point de vie

Le concept : avoir un texte qui affiche en permanence nos points de vie

Il te faudra un texte dans lequel on va afficher les points des vies 

Ajoute le comportement ancre à ton texte.

Dans la feuille d’événements : 

À chaque tick (dans général) on va définir le texte et y renvoyer notre variable de point de vie. On utilise le caractère ‘&’ pour coller du texte (entre “”) et le nom de notre variable 

Si tes points de vies sont dans une variable globale, il te suffit de taper son nom pour qu’elle s’affiche avec un petit logo de planète.

Si tes points de vies sont dans une variable d’instance, il te faudra ouvrir le système d’expression pour sélectionner ton sprite puis sa variable.

Tu devrais avoir quelque choses comme ceci :

Affiche les points de vie avec une jauge

nécessite : un système de point de vie, création d’un sprite pour la jauge de points de vie

Le concept : utiliser un sprite qui va s’agrandir et se rétrécir selon nos pv restants, comme une sorte de jauge.

Ajoute le comportement ancre à ton sprite de jauge. 

Dans l’éditeur de sprite, modifie le point d’image d’origine pour le mettre tout à gauche ou tout à droite. (Le point d’origine va conditionner dans quel sens ton sprite va s’étendre. Il ira dans la direction opposée. Exemple : s’il est à gauche, notre jauge s’étendra vers la droite). 

Pour cela tu peux faire clic droit sur ton origine, puis assigner rapidement et choisir le côté qui te convient le mieux.

On va  faire varier la largeur de notre sprite en fonction de la variable des points de vie de notre joueur. Pour que l’affichage de notre durabilité soit tout le temps actualisé, tu vas créer un événement dont la condition sera dans générale, à chaque tick

Puis dans l’action de cet événement, tu vas définir la largeur de ton sprite et indiquer comme taille le nom de ta variable de point de vie.

Si tes points de vies sont dans une variable globale, il te suffit de taper son nom pour qu’elle s’affiche avec un petit logo de planète.

Si tes points de vies sont dans une variable d’instance, il te faudra ouvrir le système d’expression pour sélectionner ton sprite puis sa variable.

Comme la variable peut contenir un petit nombre, tu vas multiplier cette valeur pour que la jauge soit grande.

Tu devrais obtenir quelque chose de similaire à cela :

Affiche les points de vie avec un sprite animé

nécessite : un système de point de vie, création d’un sprite animé pour afficher ses points de vie.

/!\ cette méthode n’est pas adaptée aux jeux où le joueur a beaucoup de points de vie. 

Le concept : Utiliser un sprite qui a une frame différente par point de vie. 

Il te faudra un sprite avec une frame pour chaque stade de points de vie. Par exemple une frame avec 3 points, 2 points, 1 points puis aucun point.

Organise tes frames de sorte que le numéro de la frame corresponde aux nombre de pv restants (ainsi sur la frame 0 on a plus aucun PV).

Pense aussi à changer la vitesse de ton animation pour qu’elle soit à 0

Ajoute le comportement ancre à ton sprite.

Dans la feuille d’événements : 

Crée un nouvel événement. Dans général, choisis “à chaque tick” comme condition de cet événement. 

En action, on va faire varier la frame de notre animation en fonction de notre variable de point de vie. Pour cela, tu vas définir la frame. Au lieu d’écrire directement un nombre, tu vas entrer le nom de ta variable. Ainsi quand on a 3 points de vie on affiche la frame 3 qui montre aussi 3 points de vie.

Si tes points de vie sont dans une variable globale, il te suffit de taper son nom pour qu’elle s’affiche avec un petit logo de planète.

Si tes points de vie sont dans une variable d’instance, il te faudra ouvrir le système d’expression pour sélectionner ton sprite puis sa variable.

Tu devrais obtenir quelque chose de similaire à cela :

Installe un minuteur

nécessite : création d’une variable globale, création d’un texte pour afficher notre variable

Le concept : Utiliser une variable pour contenir le temps et la diminuer ou l’augmenter.

Crée une variable globale pour contenir le temps.  

Si c’est un chronomètre on va remplir cette variable, donc elle commence à 0. 

Si c’est un minuteur, on va vider notre variable donc elle commence avec le temps maximal (en secondes).

Crée un texte pour afficher ton minuteur/chronomètre.

Donne le comportement ancre à ton texte pour qu’il soit toujours visible sur l’écran de jeu. 

Dans la feuille d’événements :
Chaque seconde on va modifier de 1 notre variable (+ si chrono, – si minuteur). On va aussi changer le contenu de notre texte pour afficher notre variable de temps.

Crée un nouvel événement. Dans système, choisis “toutes les X secondes”. Ici, on veut que notre variable soit modifiée chaque seconde.

En action, tu vas “soustraire de” ou “ajouter à” ta variable (+ si c’est un chronomètre, – si c’est un minuteur). 

Ajoute une seconde action, pour définir ton texte. Affiche ta variable dans le texte.

Tu devrais avoir quelque chose comme ceci  :

Mets le jeu en pause

nécessite : l’ajout du clavier

Le concept : mettre en pause le jeu quand on appuie sur une touche

Dans la feuille d’événements :

Tu vas utiliser 2 touches du clavier. Une pour mettre en pause, une pour remettre en route.

Crée un événement. Lors de la pression d’une touche (dans le clavier), en action dans Système, tu vas définir l’échelle de temps à 0

Crée un second événement. Lors de la pression d’une touche (dans le clavier), en action dans Système, tu vas définir l’échelle de temps à 1.

/!\ Pour que cela marche bien, tu dois définir deux touches différentes.
Tu auras quelque choses comme ceci : 

Tire vers le pointeur de la souris

Pré-requis : Avoir créé le sprite pour la balle et ajouter l’objet souris

Le concept : Tirer vers le pointeur de la souris

Ajoute les comportements projectile à ta balle

Dans les évènements :

Ajoute un nouvel événement “lors d’un clic du bouton gauche” pour déclencher le tir, puis une action  “faire apparaître l’objet balle”puis une autre action pour “définir l’angle vers” la souris.

Tu auras besoin de trouver les expressions de position de ta souris.
Tu auras quelque chose comme “souris.X” et “souris.Y”

Crée des objets destructibles

Pré-requis : Avoir créé le sprite pour l’objet destructible 

Le concept : objets qui se détruisent quand on les touche

Pas besoin d’ajouter de comportement à ton sprite. 

Dans les évènements :

Ajoute un nouvel événement “Lors de la collision entre le personnage et l’objet destructible » , une action  “détruire l’objet destructible » 

Ramasse des objets à collecter

Pré-requis : Avoir créé le sprite pour la pièce (ou l’objet à collecter)

Si tu veux ajouter du score tu auras besoin du variable globale score (voir “ajouter du score”)

Le concept : Ramasser des pièces ou objets 

Pas besoin d’ajouter de comportement à ton sprite.

Dans les évènements :

 Ajoute un nouvel événement “Lors de la collision entre le personnage et la pièce » , une action  “détruire la pièce » 

Si tu as un système de score et que tu veux que chaque pièce ajoute un point quand on la ramasse, pense à ajouter une action pour “ajouter 1 à” ta variable de score !

Tu peux aussi mettre en place une variable juste pour compter le nombre d’objets collectés. Pour cela crée juste une variable globale d’objets ramassés et ajoute une action dans l’événement que tu viens de faire pour ajouter 1 à cette variable d’objets ramassés.

Permets des petits dialogues automatiques et simples

Pré-requis :  réserve cette méthode à des dialogues courts car elle va prendre beaucoup d’événements, prépare un texte pour chaque “bulle de dialogue”.

Le concept : Faire apparaître des bulles de dialogues qui s’enchaînent et disparaissent automatiquement

Ajoute le comportement épingle à tes textes.
Ajoute une variable d’instance pour chaque texte (tu peux l’appeler “Durée”). Elle va servir à compter le temps pendant lequel la bulle sera visible. Mets 5 pour qu’elle reste 5 secondes, par exemple. 

Pense à bien renommer tous tes textes. 

Rends chaque texte non visible initialement. Ce paramètre est tout en bas des propriétés du texte. 

Edite les sprites qui vont parler. Dans l’éditeur de sprite, choisi l’outil d’édition des points d’image. Ajoute un nouveau point d’image (clic droit ). Renomme le “Dialogue” (clic droit renommer)

Ces points d’images vont servir de point d’apparition des bulles de dialogues. Place les bien au-dessus du sprite.

Dans les évènements :

Choisis ce qui va déclencher ton dialogue. Cela peut être le début de la scène, ou alors en arrivant à un point précis. Dans le second cas, tu auras peut-être besoin d’un sprite qui servira à détecter si le joueur est au bon endroit. Et tu feras un événement “quand mon joueur est en collision avec ce sprite”.
Ton sprite détecteur pourra être rendu invisible quand tu auras testé ton code et que tout fonctionne.

Dans ton événement déclencheur du dialogue, ajoute une action. Le premier personnage qui parle va faire apparaître son texte. 

Dans la fenêtre de paramètre pour faire apparaître un autre objet, regarde bien le paramètre “Point d’image”. Par défaut, il est sur 0. Inscris le nom du point d’image que tu as créé entre guillemets.

Ajoute une deuxième action pour définir la visibilité du texte sur “visible”.

Puis, ajoute une dernière action pour “épingler à l’objet” et choisis comme cible le personnage qui parle.

Tu devrais avoir quelque chose de similaire à ceci :

On va maintenant s’occuper de la durée d’affichage de la bulle de dialogue.
Crée un nouvel événement. Dans système => Toutes les X secondes. Règle ta condition pour avoir “ toutes les 1 secondes”. Ajoute une seconde condition : vérifie que ton dialogue est visible. Puis ajoute une action pour soustraire 1 à la variable d’instance de durée de ta bulle de texte.

Crée un nouvel événement. Compare la variable d’instance de ta bulle de dialogue pour savoir si sa durée est à 0. 

Ajoute une action. Détruis la bulle de dialogue dont la variable d’instance est arrivée à 0.

Ajoute les mêmes actions qu’à l’étape 2 et 3 mais pour ta nouvelle bulle et en choisissant comme cible d’épinglage le nouveau personnage qui parle. 

Tu devrais avoir quelque chose comme ceci :

Répète ces étapes autant de fois que tu as de bulles de texte  : faire apparaître sa bulle de dialogue, diminuer sa durée toutes les 1 secondes tant qu’elle est visible, quand sa durée atteint 0 détruire la bulle et faire apparaître la suivante.

Affiche un score

Pré-requis : création d’un texte pour afficher ton score

Le concept : avoir du score et l’afficher au joueur

Ajoute le comportement ancre à ton texte

Dans les évènements :

Crée une variable globale, en faisant clic droit dans ta feuille d’événement

Cette variable va contenir des nombres et commencer à 0 ! Tu peux lui ajouter une description

Ajoute un nouvel événement. Pour la condition, va dans système => “à chaque tick

Pour l’action, sélectionne ton texte et “définir le texte”. Dans la fenêtre de paramètre, tu peux écrire entre les guillemets “Le score : “ ajoute un ‘&’ (sur la touche du 1) suivi du nom de ta variable de score !

/!\ Pense à mettre une espace entre la fin de ton texte et le dernier guillemet sinon ta variable va se coller au texte.

Tu devrais avoir quelque chose comme ceci :

 

Ensuite, pense à ajouter une action pour “ajouter” des points dans ta variable de score (depuis système) dans chaque événement lié à du gain de score (par exemple quand un ennemi meurt ou qu’on ramasse quelque chose).

Fais augmenter le score avec le temps

Pré-requis : avoir créer du score

Le concept : avoir du score qui augmente automatiquement avec le temps

Dans les évènements :

Crée un événement. Dans système “toutes les X secondes” défini à quel intervalle de temps ton score doit augmenter. Puis ajoute une action, dans système et “ajoute” des points à ta variable de score.

Ajoute des points de vie

Quand on donne des points de vie à un sprite, on stocke ses points de vie dans une variable.
Dans Construct, il y a deux types de variables. Les variables d’instance qui sont propres à chaque instance (copie) d’un sprite, et les variables globales qui sont accessibles dans tout ton jeu, et donc utilisables dans tous les niveaux du jeu. 

Pour créer les points de vie de ton joueur, tu peux utiliser une variable globale.
Pour créer les points de vie d’ennemi tu devras plutôt utiliser une variable d’instance.

Dans les évènements :

Crée la variable de point de vie (variable d’instance ou globale selon la situation).

/!\ Dans les événements, quand tu cherches une variable globale il faut aller dans système. En revanche, quand tu cherches une variable d’instance, il faut sélectionner le sprite concerné pour trouver sa variable. 

  1. Gestion des pertes de PV : Quand un sprite doit perdre des points de vie, ajoute dans l’événement concerné une action pour soustraire des points à sa variable.
  2. Un ennemi à 0 PV : quand sa variable atteint 0, un ennemi est détruit.

Joueur à 0 PV : quand le joueur n’a plus de PV tu peux redémarrer la scène (dans système)

Du coup : il faut aussi penser à remettre ses PV au max quand la scène commence :

Installe le tir dans ton jeu

Installe le Tir vers le haut / vers le bas

pré-requis : un jeu de type plateforme dans lequel on tire

nécessite : un sprite de projectile, l’ajout du clavier pour tirer dans la direction voulue

Crée ton sprite de projectile, et donne lui le comportement projectile.

Par défaut, dans Construct, les projectiles partent vers la droite. Pour que le tiens aille vers le haut ou le bas, on va modifier son angle au moment où il est créé.

Pour aller vers le haut on ira vers -90, tandis qu’on choisira un angle de +90 pour aller vers le haut.

Dans notre feuille d’événements :

lors de la pression d’une touche de mon choix, alors, le joueur fais apparaître son projectile. Et le projectile défini son angle à -90 (vers le haut) ou 90 (vers le bas)