Username:

Password:


collapse
Who's Online
  • Dot Invités: 7
  • Dot Caché: 0
  • Dot Membres: 0

There aren't any users online.

* Shoutbox
Refresh History
  • kriss: oui.. je dois faire des demandes pour que google refasse des analyse du site afin de "voir" s'il est tjr malveillant
    Dcembre 08, 2011, 22:47:27
  • Leopold: Cool! Mais Firefox me le déclare toujours malveillant...
    Dcembre 08, 2011, 22:30:32
  • kriss: réouverture du forum !
    Dcembre 06, 2011, 00:48:58
  • Fabien: Coucou facto!! Trop bon de repasser ici :)
    Septembre 25, 2011, 18:06:22
  • Krän: aye ! ^^
    Aot 21, 2011, 23:43:29
  • RPG-Man: lol manu
    Aot 20, 2011, 00:24:00
  • RPG-Man: JE SUIS REVENU MOUHAHA
    Aot 20, 2011, 00:22:26
  • Manucyan: Ca dit quoi un ivrogne dans le noir ? "hé... t'es qui là ?" xd
    Mai 07, 2011, 18:11:20
  • Krän: Il est 2h46 et tout est calme ! :)
    Mai 05, 2011, 01:47:01
  • Manucyan: La tronche du bestiaire ? Un pokédex ! xd
    Avril 30, 2011, 21:18:09
  • Manucyan: désolé je pensais que tout le monde connaissait le phénomène du rickroll (cf wikipédia)
    Avril 30, 2011, 14:08:48
  • kriss: ca merite un ban pour ce lien oO
    Avril 30, 2011, 12:29:51
  • RPG-Man: Sale vilain
    Avril 30, 2011, 11:26:31
  • Krän: Never gonna give u up, never gonna let u dooowwwn ...
    Avril 28, 2011, 20:29:20
  • kriss: en effet mais ce n'est pas normal.. il y a un bug que je dois trouver ^^
    Avril 25, 2011, 10:30:16
  • Leopold: Pour la mise à jour, on peut cliquer sur "Refresh" (deux flèches vertes) ou sur "History" (pendule).
    Avril 22, 2011, 21:31:57
  • RPG-Man: Manque plus qu'elle se mette à jour toute seule quand on ajoute un message et c'est le must !
    Avril 21, 2011, 20:29:39
  • RPG-Man: le shootbox CAY LE BIEN
    Avril 21, 2011, 20:29:14
  • kriss: on appel ca une shootbox :p
    Avril 18, 2011, 16:47:13
  • Manucyan: hé mais c'est marrant !
    Avril 17, 2011, 18:03:46

The Factory » ADMINISTRATION » Archives du forum / admin » Editeur 3D + Moteur Physique » Les fonctionnalités du moteur physique + VIDEO de tuto
Pages: [1]
« sujet précédent | | sujet suivant »
Imprimer
Auteur Fil de discussion: Les fonctionnalités du moteur physique + VIDEO de tuto  (Lu 1358 fois)
kriss
Architecte
Savant
*
Hors ligne Hors ligne

Messages: 4447


Don Quichotte de l'orthographe

krisss666@msn.com
Voir le profil Courriel
Les fonctionnalités du moteur physique + VIDEO de tuto
« le: Novembre 02, 2008, 10:26:38 »

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 1
Editeur 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 :

Citation
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 :

Citation
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 :

Citation
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 :

Citation
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 :

Citation
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 :
Citation
- 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 :
Citation
(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".
Citation
(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.

Citation
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]

Citation
- 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.



Citation
- move_x ( imp_x )

Même effet que move, mais seulement sur l'axe X.


Citation
- move_y ( imp_y )

Même effet que move, mais seulement sur l'axe Y.


Citation
- move_z ( imp_z )

Même effet que move, mais seulement sur l'axe Z.





Citation
- 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.


Citation
- teleporter_y ( imp_y )

Même effet que teleporter, mais seulement sur l'axe Y.


Citation
- teleporter_z ( imp_z )

Même effet que teleporter, mais seulement sur l'axe Z.




Citation
- 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.



Citation
- 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.



Citation
- 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).




Citation
- 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.


Citation
n°map
le numéro de la map sur laquelle transférer le héros

Citation
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
Citation
Mode fantome (sinon il est intraversable)
Peut s'activer comme un event "normal" en cochant juste
Citation
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.
Citation
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
« Dernière édition: Dcembre 19, 2008, 02:04:03 par kriss » Journalisée

La plus vieille et la plus forte des émotions humaines est la peur, et la plus vieille et la plus forte peur est celle de l'inconnue
- H.P LOVECRAFT -
Projet en cours: MONOLITHE
http://rpgmakerxp-factory.net/forum/index.php?topic=10561.0
kriss
Architecte
Savant
*
Hors ligne Hors ligne

Messages: 4447


Don Quichotte de l'orthographe

krisss666@msn.com
Voir le profil Courriel
Re : Les fonctionnalités du moteur physique WIP
« Répondre #1 le: Novembre 02, 2008, 13:47:15 »

Plateforme montante : au moment où vous marchez dessus, elle s'élève dans les airs

[attachment=1]

[attachment=2]

[youtube]http://www.youtube.com/v/4ir8mZSHBSQ[/youtube]

1ere ligne
Go : commentaire s'exécute avant le démarrage de la map.
obs : litteralment on indique à l'event qu'il doit faire 1 pixel de haut, comme on ne spécifie pas les autres dimensions, elles valent 32 pixels par défaut
=>c'est à dire qu'on obtient une plaque de 32 pixel de coté et 1 pixel de haut.
Si un event ne possède pas de commentaire obs, alors il ne PEUT PAS déplacer un autre event :!
tch :c'est l'élément déclencheur (appelé  trigger) , il active le contenu de l'event si un autre event entre en contact. Même dimension que l'event
tch : position, on place l'élément déclencheur juste au dessus de l'event : s'il était DANS l'event, on ne pourrait vérifier la condition => event en contact avec trigger
gravite : permet de créer des event non soumis à la gravité : ils ne tombent pas :!
screen : à cause de certaines contrainte du moteur, il peut être nécessaire de modifier l'affichage du sprite de l'event, sinon il ne s'affichera pas là où il devrait, ou bien on décide d'afficher le sprite à une coordonnées différente (on modifie alors screen_x ou screen_y).
On peut avoir des soucis au niveau des superpositions, à ce moment là on utilise screen_z.
Pour screen il n'y a pas vraiment de règle à ce jour, il faut faire des tests
move_z (1p) : s'il y a déclenchement du trigger, on déplace l'event (et tout ce qui se trouve dessus) de 1 pixel par frame vers le haut.


Case avec déclenchement

[attachment=3]
[attachment=4]
[attachment=5]

[youtube]http://www.youtube.com/v/k-6fZ3n-zTM[/youtube]

Vous avez du remarqué que dans l'exemple précédent, la plate forme avait une ombre (on a encore des soucis de superposition, mais c'est un détail)
ombre (faux) : Pour faire un déclencheur qui va rester au sol, aucune raison d'afficher une ombre
tch et screen : idem que l'event précédent

 j'ai décidé que le contact avec cet évent allait enlever l'ombre au héros

$0 : l'action sera sur l'event 0 (le héros)
ombre (faux) : on supprime l'ombre
« Dernière édition: Novembre 03, 2008, 01:52:50 par kriss » Journalisée

La plus vieille et la plus forte des émotions humaines est la peur, et la plus vieille et la plus forte peur est celle de l'inconnue
- H.P LOVECRAFT -
Projet en cours: MONOLITHE
http://rpgmakerxp-factory.net/forum/index.php?topic=10561.0
kriss
Architecte
Savant
*
Hors ligne Hors ligne

Messages: 4447


Don Quichotte de l'orthographe

krisss666@msn.com
Voir le profil Courriel
Re : Les fonctionnalités du moteur physique WIP
« Répondre #2 le: Novembre 03, 2008, 01:33:03 »

Pont avec plate forme tombante

[attachment=1]

[attachment=2]
[attachment=3]

[youtube]http://www.youtube.com/v/dhdb5Z_PBvc[/youtube]
« Dernière édition: Novembre 03, 2008, 01:51:37 par kriss » Journalisée

La plus vieille et la plus forte des émotions humaines est la peur, et la plus vieille et la plus forte peur est celle de l'inconnue
- H.P LOVECRAFT -
Projet en cours: MONOLITHE
http://rpgmakerxp-factory.net/forum/index.php?topic=10561.0
kriss
Architecte
Savant
*
Hors ligne Hors ligne

Messages: 4447


Don Quichotte de l'orthographe

krisss666@msn.com
Voir le profil Courriel
Re : Les fonctionnalités du moteur physique WIP
« Répondre #3 le: Novembre 06, 2008, 20:39:59 »

Je vais expliqué comment utiliser les events qui sont à une hauteur

Si vous voulez mettre un event à une hauteur de 3 (hauteur rose) , il faut :
- mettre l'event à 3 carreau en dessous de la position souhaitée :  en effet c'est le moteur qui va déplacer l'event grâce à la condition que vous allez utiliser
- condition :  GO teleporter_z (3 )
- Pour que la superposition se fasse sans problème, il faut mettre dans votre tileset un N° de superposition égal à la hauteur souhaitée.
Dans le cas de l'utilisation d'un charset il n'y a rien à faire à ce sujet.

Vous remarquez que la plate forme est en haut du cube rose, or tout les sprites sont affichés en bas du cube , par défaut. Vous devez donc utiliser la
- condition GO screen_y(-1) : ce qui signifie que vous déplacez le sprite d'1 carreau au dessus de sa position initiale

[attachment=1]

Dans le cas du pont, la plateforme possède un trigger :
- l'event est mis à la hauteur 2 : GO teleporter_z (2 )
- le trigger est placé au dessus : GO tch : position_z ( 1 )
« Dernière édition: Novembre 06, 2008, 20:54:38 par kriss » Journalisée

La plus vieille et la plus forte des émotions humaines est la peur, et la plus vieille et la plus forte peur est celle de l'inconnue
- H.P LOVECRAFT -
Projet en cours: MONOLITHE
http://rpgmakerxp-factory.net/forum/index.php?topic=10561.0
Pages: [1]
Imprimer
« sujet précédent | | sujet suivant »
Aller à:  


Powered by SMF 1.1.15 | SMF © 2006-2009, Simple Machines

EN Theme by Nati

Page générée en 0.25 secondes avec 26 requêtes.
Chargement...
SimplePortal 2.3.2 © 2008-2010, SimplePortal