Ce descriptif est en cours d'écriture, d'autres exemples seront ajoutés.
J'ai pris la liberté de le poster car je pense que ca peut vous permettre de commencer à comprendre les possibilités du moteur qui sera bientôt disponible
Afin que vous puissiez vous familiariser avec le moteur, nous allons vous expliquer ce qu'il est possible de faire avec des exemple suivis d'explications sur les paramètres utilisés.
En effet King a conçu un principe de commentaire dans des events afin d'utiliser en jeu les effets.
Le moteur complet utilisé pour créer le jeu l'Usine en folie est décomposé en 3 programmes : le moteur physique, l'editeur 3D, le gui (interface graphique)
- l'éditeur 3D + le GUI (interface graphique)
une fois que vous avez lancé le jeu, vous aurez acces au mode : édition.
Ce sont des fonctions activables à la souris afin de "dessiner" les cubes
Cette partie sera expliquée en détail dans un autre post
- le moteur physique :
utilisation d'events dans l'éditeur de RM
Vous aurez un projet appelé BIBLIOTHEQUES qui contiendra tout ces exemples, vous n'aurez qu'à copier/coller dans votre projet et modifier éventuellement les paramètres.

Tuto de prise en main de l'editeur
Editeur 3D - Partie 1Editeur 3D - Partie 2
Manuel des commandes :
descriptif des commandes utilisées, j'expliquerais pour chaque event comment on les utilise et à quoi ca sert
# Manuel
Par King Kadelfek
v1.8
Introduction
Le Moteur Physique ajoute une 3ème dimension à RMXP, et bien d'autres fonctions.
Pour gérer ces nouvelles aptitudes, un langage spécial à été développé à l'attention des non-programmeurs.
Parce que les makers n'ont pas à s'intéresser au Ruby pour faire un jeu RMXP, ce langage est utilisable facilement, et compréhensible aisément.
Ce langage est utilisé dans les commentaires, et est traité de la même façon qu'une instruction message, ou une modification de variable par exemple.
De cette façon, ces commentaires sont utilisable aussi bien dans des events en parallèle qu'en events actionnables par la touche action.
La syntaxe est la plus simple possible, et de nombreuses facilités sont disponibles pour en faire un système bien plus intéressant que les scripts.
La syntaxe [spoiler]
Les commentaires s'écrivent suivant une certaine syntaxe : vous êtes libres de mettre des majuscules ou des accents, bien que cela soit déconseillé.
Plus intéressant, vous pouvez mettre autant d'espaces que vous le voulez, où vous le souhaitez, si vous trouvez que vos instructions sont plus lisibles grâce à ça.
Exemple :
[citation]move(10,2,5)
move ( 10 , 2 , 5 )[/citation]
Ces deux commentaires sont équivalents.
*********************************************************
*** A propos de la syntaxe utilisée dans les exemples ************************************************************
Note : la commande "tester" est utilisé ici en exemple.
Ce n'est pas une commande qui existe, elle est là uniquement pour servir d'exemple.
Ne vous étonnez pas de la voir avec une syntaxe différente par exemple.
Néanmoins, lorsque "tester" est utilisée dans le même exemple, il s'agit de la même fonction.
--------
Les paramètres facultatifs---
Quand vous avez le droit de ne pas spécifier certains paramètres, cela vous est indiqué à l'aide de crochets [].
Quand vous pouvez écrire :
[citation]tester ( 1, true )[/citation]
et :
[citation]tester ( 1 )[/citation]
Cela est indiqué dans la syntaxe de la commande de cette façon :
[citation]tester ( paramètreA , [ paramètreB ] )[/citation]
Comprenez alors que le second paramètre (paramètreB) est facultatif, car il est entre crochets [].
--------
Les paramètres au choix---
Quand vous n'avez le droit que de mettre certaines valeurs, cela vous est indiqué avec le slash / .
Exemple :
tester ( paramètreA , 1 / 2)
Ici, vous pouvez mettre ce que vous voulez pour le paramètreA, mais pour le second paramètre, vous n'avez le droit de mettre que "1" et "2".
Parfois il peut s'agir de genres de données.
Exemple :
[citation]tester ( paramètreA , paramètreB = Pixels )[/citation]
Ici, vous ne devez mettre que des pixels pour le paramètreB.
-------
Les indications d'aide
---
Dans la syntaxe des commandes, vous verrez parfois des exemples écrits de la façon suivante :
deplacer ( imp_x=13 , imp_y=11 , imp_z=7 , frames=5 )
Vous ne devez pas écrire " imp_x = ", ni " imp_y = ", ni " imp_z = ", ni " frames = ".
Contentez-vous d'écrire :
deplacer ( 13 , 11 , 7 , 5 )
Dans ces exemples, ces mots avec des " = " sont là pour que l'on puisse bien voir à quel paramètre on fait référence.
-------
Les mots en dur---
Dans les indications de syntaxe, les mots que l'on trouve le plus souvent sont "imp_x" et "x" (ou y, ou z).
Exemples :
move_x ( imp_x )
teleporter ( x , y , z )
Vous ne devez pas écrire "x" ou "imp_x", c'est expliqué dans le paragraphe du dessus.
Mais dans certains cas, vous verrez des syntaxes de ce genre :
Exemple :
tester( haut / bas )
Ici, vous avez le choix entre "haut" et "bas".
Pour utiliser cette fonction, vous devez écrire en toutes lettres dans le commentaire le mot "haut"
ou le mot "droite".
Lorsqu'il est possible d'utiliser des mots en dur, cela est généralement expliqué dans la documentation de la commande.
----------------------------------
Les valeurs numériques pour les déplacements-----------------
Les commandes de déplacement sont par exemple :
- move ( imp_x, imp_y, imp_z )
- teleporter ( x, y, z )
- deplacer ( x, y, z, frames )
Dans les syntaxes de ces commandes, x, y, z, imp_x, imp_y et imp_z correspondent à des valeurs numériques pour les déplacements.
Les valeurs numériques pour les déplacements sont toujours à indiquer en cases, comme dans RM.
Ainsi, (1,2) correspond à la case (1,2), soit aux coordonnées (32, 64) en pixels.
Pour indiquer des coordonnées en pixels, ajoutez la lettre "p" aux coordonnées.
Exemple :
(1p, 2p, 0p)
correspond à 1 pixel à gauche et 2 pixels en-bas du haut de l'écran.
Note :
Pour différencier les deux, vous pouvez aussi ajouter la lettre "c" pour "case".
(1c, 2c)
correspond à la case (1,2).
Comme il s'agit du mode par défaut, cette lettre "c" est facultative.
Note :
Vous pouvez utiliser plusieurs écritures en même temps.
move (22p, 1c, 0)
move (22p, 32p, 0p)
Ces deux écritures ont exactement le même effet.
----
Les flottants--
Pour les valeurs numériques de déplacement, vous ne pouvez pas donner de valeurs flottantes.
Pas de 1.2, 4.5 ou autres.
Le moteur physique fonctionne par coordonnées et valeurs entières, donc des valeurs flottantes finiraient par créer des erreurs.
Ça, et le fait qu'en Ruby, 0.2 + 0.2 = 0.399999.... Cherchez l'erreur.... -_-'
Donc pas de flottants.
[/spoiler]
Les Commandes [spoiler]
- move ( imp_x , imp_y , imp_z )
Envoie les impulsions x, les impulsions y et les impulsions z à l'event.
L'event essaiera alors de se déplacer dans les différentes directions indiquées.
S'il rencontre un obstacle, il sera bloqué, ou agira de la même façon que le héros.
Si c'est une pente / escalier => il grimpera, si c'est une échelle => il montera (ou descendra, tout dépend des impulsions).
Pour demander à un event de se déplacer suivant un seul axe (X, Y, ou Z), utilisez l'une des trois instructions décrites ci-après.
- move_x ( imp_x )
Même effet que move, mais seulement sur l'axe X.
- move_y ( imp_y )
Même effet que move, mais seulement sur l'axe Y.
- move_z ( imp_z )
Même effet que move, mais seulement sur l'axe Z.
- teleporter (x , y , z)
L'instruction "teleporter" téléporte immédiatement l'event aux coordonnées (x,y,z) spécifiées.
Si un obstacle se trouve à ces coordonnées, et que l'event est "solide" une erreur de téléportation surviendra.
Seul un event en mode fantôme (donc sans bloc d'obstacle) peut se téléporter dans un obstacle.
Pour demander à un event de se téléporter suivant un seul axe (X, Y, ou Z), utilisez l'une des trois instructions décrites ci-après.
[- teleporter_x ( imp_x )[/quote]
Même effet que teleporter, mais seulement sur l'axe X.
- teleporter_y ( imp_y )
Même effet que teleporter, mais seulement sur l'axe Y.
- teleporter_z ( imp_z )
Même effet que teleporter, mais seulement sur l'axe Z.
- vitesse ( vit )
Change la vitesse de déplacement par la valeur spécifiée.
Il vaut mieux spécifier cette vitesse en pixels, car il s'agit de la distance parcourue à chaque frame lors d'un pas selon l'axe X ou Y.
Exemple :
vitesse ( 1 ) = vitesse ( 32p ) = 32 * 20 soit 640 pixels parcourus par seconde lors d'un déplacement.
Préférez des valeurs de l'ordre de 3p ou 4p, qui donnent une vitesse de déplacement semblable à celle par défaut du héros sous RMXP classique.
- ombre ( false / true / vrai / faux )
Active ou désactive l'ombre.
Désactive toujours l'ombre s'il y en avait une.
Ne peut pas encore activer une ombre pour un event qui n'était pas censé en avoir une.
- gravite ( false / true / vrai / faux )
Active ou désactive la gravité.
Un event avec une gravité activée essaiera toujours de tomber.
Un event avec une gravité désactivée restera en l'air (exemple : plate-forme volante).
Désactiver la gravité n'empêche pas un event de bouger (move, teleport ou autre).
- transferer (n°map, x, y, z,
[bas / haut / droite / gauche / inchangee / nil /
2 / 8 / 4 / 6 / 0],
[fondu])
Permet de téléporter le héros sur une nouvelle map.
C'est l'équivalent de "téléporter l'équipe" de RMXP.
n°map
le numéro de la map sur laquelle transférer le héros
x, y, z
coordonnées d'arrivée
Les coordonnées d'arrivée doivent bien sûr ne pas déboucher sur un obstacle, sans quoi cela créera une erreur.
[bas / haut / droite / gauche / inchangee / nil /
2 / 8 / 4 / 6 / 0]
direction dans laquelle le héros doit être tourné.
Utilisez comme vous le souhaitez des mots en toutes lettres (bas, haut, ...), ou leur équivalent en axes tels que définis par RMXP :
bas = 2
haut = 8
droite = 4
gauche = 6
inchangee = nil = 0
Exemple :
transferer ( n°map=5, x=10, y=10, z=0, direction=2 )
transferer ( n°map=5, x=10, y=10, z=0, direction=bas )
Ces deux commentaires ont le même effet.
Préférez néanmoins la version avec les mots en toutes lettres plutôt que les chiffres pour plus de lisibilité.
[fondu]
indique s'il y a un fondu.
Marquez "fondu" pour qu'il y ait un fondu.
Ne spécifiez pas ce paramètre et il n'y aura pas de fondu.
Note :
transferer ne s'utilise jamais avec $ devant.
- deplacer ( imp_x , imp_y , imp_z , frames )
Il s'agit d'un commentaire de remplacement.
C'est un commentaire qui en remplace plusieurs autres.
deplacer permet de remplacer plusieurs move, avec des pauses entre eux.
Exemple :
move ( 2 , 0 , 0 )
attendre 1 frame
move ( 2 , 0 , 0 )
attendre 1 frame
move ( 2 , 0 , 0 )
attendre 1 frame
move ( 2 , 0 , 0 )
attendre 1 frame
Est équivalent à :
deplacer ( imp_x=8 , imp_y=0 , imp_z=0 , frames=4 )
De cette façon, on peut avoir des déplacements pixels par pixels (ou case par case) à chaque frame sans avoir à spécifier des dizaines ou des centaines d'instructions "move" et "wait".
Notez que vous n'êtes absolument pas obligé de spécifier des valeurs multiples (comme 8 multiple de 4).
Exemple :
deplacer ( imp_x=13 , imp_y=11 , imp_z=7 , frames=5 )
Cette instruction marche parfaitement.
L'instruction sera décomposée en move à valeurs entières (non flottantes).
Néanmoins, du fait d'un passage en flottants durant le calcul l'approximation est de 0 à -1 pixel pour chacun des axes.
Exemple :
Parfois, un déplacement de 20 pixels sera en fait de 19 pixels.
Parce qu'en Ruby, 19.8 + 0.2 = 19.999999... Ça arrive souvent. -_-'
Pour demander à un event de se téléporter suivant un seul axe (X, Y, ou Z), utilisez l'une des trois instructions décrites ci-après.
- deplacer_x ( imp_x )
Même effet que deplacer, mais seulement sur l'axe X.
- deplacer_y ( imp_y )
Même effet que deplacer, mais seulement sur l'axe Y.
- deplacer_z ( imp_z )
Même effet que deplacer, mais seulement sur l'axe Z.
- obs / tch / act : dimension ( largeur , longueur, hauteur )
Permet de modifier les dimensions d'un bloc d'event.
Pour modifier l'obstacle lié à un event, procédez comme suit :
obs : dimension (16, 16, 16)
De la même façon, pour modifier le bloc d'action :
act : rectangle (16, 16, 16)
Les ":" sont obligatoires.
Vous ne pouvez pas modifier le bloc d'obstacle si l'event n'a pas d'obstacle.
De la même façon, vous ne pouvez pas modifier les blocs de touche ou d'action si l'event n'en a pas.
Les valeurs à spécifier sont en pixels ou en cases
Un bloc de 32 pixels de côté a une "largeur" de 32. Pareil pour longueur et hauteur.
Pour créer un event avec un obstacle pouvant être actionné par "contact avec le héros", utilisez cette commande pour réduire les dimensions du bloc d'obstacle :
GO obs : dimension (31p, 31p, 31p)
Ou cette commande, pour augmenter la taille du bloc de touche :
GO tch : dimension (34p, 34p, 34p)
Pour demander à un event de se dimensionner suivant un seul axe (X, Y, ou Z), utilisez l'une des trois instructions décrites ci-après.
- obs / tch / act : dimension_x ( imp_x )
Même effet que dimension, mais seulement sur l'axe X.
- obs / tch / act : dimension_y ( imp_y )
Même effet que dimension, mais seulement sur l'axe Y.
- obs / tch / act : dimension_z ( imp_z )
Même effet que dimension, mais seulement sur l'axe Z.
- obs / tch / act : position ( x , y , z )
Pour modifier la position du bloc par rapport au point de référence (le centre de l'event).
Il vaut mieux modifier la position en pixels, si vous ne voulez pas que les blocs sortent complètement de l'event.
Pour demander à un event de se positionner suivant un seul axe (X, Y, ou Z), utilisez l'une des trois instructions décrites ci-après.
- obs / tch / act : position_x ( imp_x )
Même effet que position, mais seulement sur l'axe X.
- obs / tch / act : position_y ( imp_y )
Même effet que position, mais seulement sur l'axe Y.
- obs / tch / act : position_z ( imp_z )
Même effet que position, mais seulement sur l'axe Z.
- ombre_img ( nom )
Permet de remplacer l'ombre créée automatiquement par une image.
L'image doit être placée dans le dossier "Graphics/Picture/ombres/".
Attention ! Le nom de l'image doit être sans majuscules, ni accents, ni espaces !
Vous n'êtes pas obligé de spécifier l'extension du fichier image.
Exemple :
ombre_img ( ovale )
ombre_img ( ovale.png )
Ces deux instructions ont le même effet.
- inamovible ( false / true / vrai / faux )
Permet de rendre un event inamovible. Cet event ne se déplacera pas si l'event qui est sous lui se déplace (latéralement ou de haut en bas).
Cet event peut néanmoins continuer à se mouvoir de lui-même (impulsions, gravité).
- obs / tch / act : avoir ( false / true / vrai / faux )
Permet de donner ou d'enlever un bloc de type obs, act ou tch à l'event.
N'a aucun effet si on lui fait avoir un bloc alors qu'il en a déjà un.
N'a aucun effet si on lui enlève un bloc alors qu'il n'en a pas.
Vous ne pouvez pas donner plusieurs blocs du même type à un event (comme 2 obstacles ou 3 blocs touche).
Un event qui possède un bloc de touche et un bloc d'action est activable au contact avec le héros ET par la touche action.
Note : pour enlever un bloc d'obstacle pour un event, vous pouvez aussi utiliser le "Mode fantôme" (l'option à cocher / décocher sur la page d'event sous RMXP).
Lorsque vous avez un event sans aucun code "utile" (ne déclenchant aucune action), n'hésitez pas à le désactiver en lui enlevant son bloc d'action par exemple.
De cette façon, lorsque le héros essaiera d'activer un event, cet event ne sera pas inutilement testé (car n'ayant pas de bloc d'action).
- pose ( nom )
Permet de changer la pose du héros.
Ne marche pas encore.
- teleporter_z_decalage ( z )
Téléporte les events en hauteur, mais les laisse visuellement à la hauteur à laquelle ils étaient sous RMXP.
Utile pour les portes (ou les téléporteurs des portes), que l'on peut ainsi placer sur la map là où se trouve leur représentation graphique.
Quelle que soit la hauteur z spécifiée, l'event sera décalé autant qu'il faut pour apparaître au même endroit que sous RMXP.
- glace ( vitesse = F , friction = F , vitesse_max = F )
Permet de faire se déplacer un event comme s'il était sur la glace.
Vous pouvez spécifier des valeurs flottantes.
vitesse : augmentation de la vitesse à chaque frame lorsque les touches de direction sont appuyées
Mettez la vitesse à 0 pour empêcher tout changement de direction.
friction : diminution de la vitesse à chaque frame
Mettez une valeur importante à la friction pour empêcher tout déplacement dans la zone.
vitesse_max : vitesse_maximale qu'il est possible d'atteindre sur la glace
Cette vitesse maximale peut être inférieure ou supérieure à la vitesse normale.
Notez que cette fonction s'appelle "glace", mais que vous pouvez considérer qu'il s'agit d'autre chose : boue, huile, etc...
En spécifiant certaines relations de valeur, vous pourrez créer des effets divers.
Vous n'êtes pas obligé de créer une zone glacée. Vous pouvez aussi appliquer l'effet à l'event que vous voulez en utilisant $.
Attention ! Vous êtes obligé d'utiliser un système en parallèle pour appliquer cet effet à chaque frame aux events voulus.
Utilisez un event en mode touch ou un event parallèle.
- fixe ( false / true / vrai / faux )
Permet de rendre un event absolument indéplaçable.
Utile uniquement si l'event a un obstacle.
N'utilisez cette fonction que si vous êtes sûr de ne pas faire bouger cet event.
Si vous vous servez du bloc d'obstacle d'un event pour compléter les terrains.
Le fait de rendre un event fixe fait qu'il ne peut plus se déplacer.
Il ne fait plus de tests pour savoir s'il se trouve à l'intérieur d'un obstacle.
Utilisez cette fonction pour de très grands events dont vous vous servez comme obstacles.
Désactivez aussi leur ombre pour gagner encore du CPU.
- screen ( x , y , z )
Pour modifier la position du sprite d'un event.
Il vaut mieux modifier la position en pixels, si vous ne voulez pas que le sprite sorte complètement de l'event.
x et y concernent la position du sprite, z son niveau de superposition.
Si le héros se trouve à l'étage 2, et que vous voulez que sa superposition se fasse comme à l'étage 0, mettez z à -2.
Pour positionner le srite de l'event suivant un seul axe (X, Y, ou Z), utilisez l'une des trois instructions décrites ci-après.
- screen_x ( x )
Même effet que screen, mais seulement sur l'axe X.
- screen_y ( y )
Même effet que screen, mais seulement sur l'axe Y.
- screen_z ( z )
Même effet que screen, mais seulement sur l'axe Z.
- screen_dessous ( false / true / vrai / faux )
Permet de forcer RMXP Ã afficher des events en-dessous du plancher.
ATTENTION ! Ne s'utilise pas avec un GO !
S'utilise dans un event en démarrage automatique (ou parallèle) !
N'utilisez pas deux fois de suite un "screen_dessous(true)" ou un "screen_dessous(false)" !
----------------------------------
Exécution
-----------------
- GO
Par défaut, un commentaire s'exécute comme une instruction message : il attend que
ce soit son tour.
Mais vous pouvez, si vous le voulez, faire en sorte qu'un commentaire soit exécuté avant le démarrage de la map.
De cette façon, si vous utilisez une téléportation par exemple, votre event sera téléporté avant d'être vu à sa place d'origine, comme c'est le cas avec RMXP.
Pour cela, précédez votre commentaire du mot "GO".
Préférez l'écrire en majuscules (bien que ce soit possible en minuscules) pour qu'il ressorte bien.
Exemple :
GO teleporter ( 10 , 12 , 0 )
Utilisation du GO :
Un commentaire utilisant GO doit être placé obligatoirement au début exact d'une page (première instruction).
Si plusieurs commentaires GO sont utilisés, ils doivent être placés à la suite.
Exemple :
GO teleporter ( 10 , 12 , 0 )
GO vitesse ( 1 )
autre instruction
Remarques :
Tout commentaire GO ne se trouvant pas au début exact de la page ou après d'autres GO
ne sera pas exécuté.
Un commentaire GO ne s'exécute qu'une fois par page.
Un event en processus parallèle n'exécute pas le GO à chaque tour de boucle.
Les commentaires GO sont exécutés à chaque changement de page.
Si l'event change de page et que celle-ci contient des GO, ceux-ci seront exécutés.
De la même façon, si vous revenez par la suite à la page précédente, ses GO seront à nouveau exécutés.
- dollar $
Tout commentaire s'exécute par défaut sur l'event dans lequel il se trouve.
Si le commentaire "vitesse(1)" se trouve dans l'event 1, c'est la vitesse de l'event 1 qui sera modifiée.
Pour modifier la vitesse d'un autre event, utilisez le symbole dollar ($).
Exemple :
$2 vitesse ( 1 )
Ici, c'est la vitesse de l'event numéro 2 qui est changée.
Pour exécuter un commentaire sur le héros, utilisez $0 (on peut considérer que le
héros est l'event numéro 0).
Remarques :
Si vous précisez un numéro d'event n'existant pas, cela créera une erreur.
L'instruction transferer (pour faire changer le héros de map) marche de la même manière quel que soit l'event spécifié : c'est le héros qui change de map.
Vous ne pouvez pas transférer un event dans une autre map.
La commande "$0 transferer..." ou "$3 transferer..." ne créent pas d'erreurs, mais sont semblables à "transferer...".
Donc n'utilisez pas de $ pour transferer, ça ne sert à rien.
Pour les events déclenchables par une touche ou un appui sur action (contact avec le héros, appui sur le bouton d'action, ...) vous pouvez utiliser "$x".
"$x" fait référence au personnage qui a déclenché l'event dans lequel se trouve la commande.
Exemple :
$1 move_x ( 1 ) # fait bouger l'event 1 si quelqu'un entre en contact avec l'event
$x move_x ( 1 ) # fait bouger l'event qui est entré en contact avec l'event (le héros, un autre event, etc...)
Grâce à cela, les events peuvent eux aussi déclencher des pièges, ouvrir des portes, etc..., bref, ils peuvent agir comme le héros.
- combo
Vous pouvez utiliser en même temps GO et $.
Respectez simplement l'ordre : le GO doit être placé en premier.
Exemple :
GO $0 teleporter (1, 10, 3)
Ce commentaire téléporte le héros aux coordonnées (1, 10, 3) avant même l'affichage de la map.
Notez que dès l'apparition de la map, le héros sera aux bonnes coordonnées.
- édition de parcours
Vous pouvez placer les commentaires dans les éditions de parcours.
Comme il n'y a pas de commentaires, utilisez la fonction script.
Tapez l'instruction dans le script de la même façon que vous l'auriez fait dans le
commentaire, ne changez rien.
Note :
Les scripts fonctionnent toujours.
Tout script dans une édition de parcours est d'abord testé pour voir s'il s'agit d'un
commentaire, et si ce n'est pas le cas, il est interprété en tant que script.
[/spoiler]
Les Volumes Comme vous le savez déjà , le moteur du jeu utilise de la 3D dans un environnement 2D.
C'est à dire qu'en jeu vous aurez une vue unique (celle de RM), mais vous pourrez monter sur des objets, passer sous des plateformes.
Le moteur gère actuellement 6 hauteurs (et il risque de ne gérer QUE 6 hauteurs).
Chaque hauteur est représentée par une couleur (le bleu représente le sol), chaque hauteur représente 32 pixels (1 carreau)
[attachment=1]
Voici les 4 cas de figure possibles
[attachment=2] [attachment=3]
1 : un event au sol
Mode fantome (sinon il est intraversable)
Peut s'activer comme un event "normal" en cochant juste
Au contact du héros
2: event non traversable +
trigger au dessus de l'event (hauteur =2)
Un trigger c'est un déclencheur: si un event entre en contact, on peut activer des actions.
GO tch : dimension_z ( 2 )
3: event non traversable, avec une hauteur de 1 pixel + un trigger de 1pixel.
Obligation de sauter sur l'event pour l'activer, meme s'il est au "sol" (considéré comme une marche)
[attachment=4]
4: event en hauteur (en suspension dans l'air ) + trigger
les events peuvent passer dessous, il faut sauter dessus pour l'activer.
[attachment=5]
Teleporter pour placer l'event en hauteur
Gravite pour gérer la suspension en l'air