Contents Up Previous Next

Fonctions de Pièce / d'Ecran

AreThingsOverlapping
DisableGroundLevelAreas
EnableGroundLevelAreas
FadeIn
FadeOut
FlipScreen
GetBackgroundFrame
GetPlayerCharacter
GetRoomProperty
GetTextProperty (room)
GetScalingAt
GetViewportX
GetViewportY
GetWalkableAreaAt
HasPlayerBeenInRoom
RawClearScreen
RawDrawCircle
RawDrawFrameTransparent
RawDrawImage
RawDrawImageResized
RawDrawImageTransparent
RawDrawLine
RawDrawRectangle
RawDrawTriangle
RawPrint
RawPrintMessageWrapped
RawRestoreScreen
RawSaveScreen
RawSetColor
RawSetColorRGB
ReleaseViewport
RemoveWalkableArea
ResetRoom
RestoreWalkableArea
SetAreaScaling
SetBackgroundFrame
SetFadeColor
SetNextScreenTransition
SetScreenTransition
SetViewport
SetWalkBehindBase
ShakeScreen
ShakeScreenBackground
TintScreen
Messages propriété


AreThingsOverlapping

AreThingsOverlapping(int chose1, int chose2)
Vérifie si deux personnage ou objets se superposent à l'écran. Ceci tient simplement compte du rectangle qu'occupe la sprite des personnages ou objets - donc si vous avez d'importantes zones transparentes autour du graphisme, la superposition semblera trop large.

CHOSE1 et CHOSE2 peuvent être l'ID d'un personnage (CHARID) ou le numéro d'un objet PLUS 1000. Donc par exemple, passer EGO en tant que CHOSE1, et 1004 en tant que CHOSE2, comparera le personnage EGO à l'objet 4 dans la salle actuelle.

Retourne 0 si les objets ne se touchent pas, ou le taux de superposition s'ils se touchent. Ce taux est à une échelle arbitraire, mais 1 signifie qu'ils se touchent à peine, et tous les nombres supérieurs signifient que la superposition est plus importante.

Appeler cette fonction en passant des objets pour les deux paramètres revient à appeler Object.IsCollidingWithObject.

Exemple :

if (AreThingsOverlapping(1002, EGO)) {
  // code ici
}
exécutera le code si l'objet 2 touche EGO. Ceci peut être utile si l'objet 2 est une balle, par exemple.

Voir Aussi : Character.IsCollidingWithChar, Object.IsCollidingWithObject


DisableGroundLevelAreas

DisableGroundLevelAreas(int desactiverTeintes)
Désactive toutes les interactions au niveau du sol. Cela signifie que tous les événements de région, l'événement "Joueur Se Trouve Sur Hotspot", et les côtés de la pièce seront désactivés.

Cette commande est utile si vous l'utilisez correctement avec la variable character[].z, si vous voulez que le joueur puisse voler ou léviter temporairement, par exemple. Ceci vous permet d'empêcher le personnage de déclencher les interactions "Joueur Se Trouve Sur..." tandis qu'il est dans les airs.

Cette commande est aussi utile durant certaines cinématiques (cutscenes), si vous ne voulez pas que le personnage joueur déclenche des événements alors qu'ils se déplace dans la pièce durant la scène.

Le paramètre DESACTIVERTEINTES spécifie si les effets visuels des régions (c'est-àdire la luminosité et la teinte) sont aussi désactivés ou non. Si vous passez 0, alors seules les interactions seront désactivées.

Exemple :

DisableGroundLevelAreas(0);
désactivera toutes les interactions en rapport au sol, mais laissera la luminosité s'appliquer.

Voir Aussi : Hotspot.Enabled, Region.Enabled, EnableGroundLevelAreas


EnableGroundLevelAreas

EnableGroundLevelAreas()
Réactive toutes les interactions au sol. Cette commande est utilisée pour inverser les effets de la commande DisableGroundLevelAreas, et fera revenir les choses à la normale.

Exemple :

EnableGroundLevelAreas();
Réactivera toutes les interactions au sol.

Voir Aussi : Hotspot.Enabled, Region.Enabled, DisableGroundLevelAreas


FadeIn

FadeIn (int vitesse)
Affiche en fondu l'écran selon la palette, depuis un écran noir. Ceci est utilisé pour réafficher l'écran après avoir appelé un FadeOut. La VITESSE est comprise entre 1 (le plus lent) et 64 (le plus rapide).

NOTE : Ceci est une fonction bloquante.

Exemple :

FadeOut(30);
Wait(40);
FadeIn(10); 
fondra l'écran vers le noir, attendra 1 seconde (40 cycles) puis fera réapparaître l'écran en fondu.

Voir Aussi : CyclePalette, FadeOut, SetFadeColor


FadeOut

FadeOut (int vitesse)
Noircit totalement l'écran en fondu. VITESSE est la vitesse de fondu, allant de 1 (le plus lent) à 64 (instantanné). Vous pouvez restaurer l'écran avec FadeIn.

NOTE : Ceci est une fonction bloquante.

Exemple :

FadeOut(30);
Wait(40);
FadeIn(10); 
fondra l'écran vers le noir, attendra 1 seconde (40 cycles) puis fera réapparaître l'écran en fondu.

Voir Aussi : CyclePalette, FadeIn, SetFadeColor


FlipScreen

FlipScreen (int maniere)
Retourne l'écran selon un axe horizontal, vertical, ou les deux. Cette fonction est faite seulement pour les effets spéciaux - toutes les coordonnées restent les mêmes et cela n'a aucun effet sur les autres fonctions du script.

Les valeurs de MANIERE peuvent être :

0  affichage normal
1  flip horizontal (inversion haut-bas)
2  flip vertical (inversion gauche-droite)
3  les deux (haut-bas ET gauche-droite)
NOTE : Cette fonction a encore quelques bugs - les zones noires de l'écran peuvent ne pas s'afficher correctement, et les messages pop-up qui s'afficheront retourneront l'écran pour l'afficher normalement.

Exemple :

FlipScreen(1); 
retournera l'écran selon l'axe horizontal.


GetBackgroundFrame

GetBackgroundFrame()
Retourne le numéro de l'arrière-plan qui est actuellement affiché. Dans une pièce sans animation d'arrière-plan, ceci retourne toujours 0. Sinon, le numéro de l'image actuelle est retournée de 0 à 4.

Exemple :

if (GetBackgroundFrame()==4)
  object[2].Visible = true;
affichera l'objet 2 si l'image d'arrière-plan de la pièce est l'image 4.

Voir Aussi : SetBackgroundFrame


GetPlayerCharacter

GetPlayerCharacter ()
CETTE COMMANDE EST DESORMAIS OBSOLETE.
La méthode de remplacement recommandée est d'utiliser la propriété ID du personnage joueur, comme suit :

Exemple :

Display("Le numéro du personnage est : %d", player.ID);
Voir Aussi : Character.ID


GetRoomProperty

GetRoomProperty (string propriete)
Retourne la valeur de la propriété personnelle PROPRIETE pour la pièce actuelle.

Cette commande fonctionne avec des propriétés numériques (retourne le nombre), et avec des propriété boléennes (retourne 1 si la case est cochée, sinon 0).

Utilisez la fonction équivalente Room.GetTextProperty pour obtenir une propriété textuelle.

Notez que vous ne pouvez pas récupérer les propriétés des autres pièces - seule la pièce actuelle peut être testée.

Exemple :

if (GetRoomProperty("PeutEtreAttaqueIci"))
  Display("Un monstre diabolique vous attaque !");
affichera le message si la propriété "PeutEtreAttaqueIci" est activée pour la pièce actuelle.

Voir Aussi : Room.GetTextProperty


GetTextProperty (room)

(Anciennement fonction globale GetRoomPropertyText, désormais obsolète)

static String Room.GetTextProperty(string propriete)
Retourne la valeur de la propriété personnelle PROPRIETE pour la pièce actuelle.

Cette commande fonctionne uniquement pour les propriétés textuelles. Le texte de la propriété sera retournée par cette fonction.

Utilisez la fonction équivalente GetRoomProperty pour obtenir une propriété non textuelle.

Notez que vous ne pouvez pas récupérer les propriétés des autres pièces - seule la pièce actuelle peut être testée.

Exemple :

String description = Room.GetTextProperty("Description");
Display("La description de la pièce : %s", description);
récupérera la propriété "description" de la pièce et l'affichera.

Voir Aussi : GetRoomProperty


GetScalingAt

GetScalingAt (int x, int y)
Retourne le zoom de la zone de la pièce aux coordonnées (X,Y).

La valeur retournée va de 1 à 200, 100 étant le réglage normal du zoom.

Exemple :

if (GetScalingAt(player.x, player.y) == 100)
    Display ("Le joueur a actuellement sa taille normale.");
Voir Aussi : GetWalkableAreaAt, SetAreaScaling


GetViewportX

GetViewportX ()
Retourne le décalage X de la caméra par rapport à la pièce. Ceci vous permet de savoir quelle partie de la pièce le joueur est en train de regarder. La valeur retournée correspond au décalage par rapport au côté gauche de l'écran, et sa valeur peut donc aller de 0 à (LARGEUR DE LA PIECE - 320).

Si la pièce n'entraîne pas de scrolling, retourne 0.

Voyez la fonction SetViewport pour plus d'informations.

Exemple :

if (GetViewportX()>100)
    object[2].Visible = true;
affichera l'objet 2 si le joueur a déplacé la caméra de 100 pixels vers la droite.

Voir Aussi : GetViewportY, SetViewport


GetViewportY

GetViewportY ()
Retourne le décalage Y de la caméra par rapport à la pièce. Ceci vous permet de savoir quelle partie de la pièce le joueur est en train de regarder. La valeur retournée correspond au décalage par rapport au haut de l'écran, et sa valeur peut donc aller de 0 à (HAUTEUR DE LA PIECE - 200).

Si la pièce n'entraîne pas de scrolling, retourne 0.

Voyez la fonction SetViewport pour plus d'informations.

Exemple :

if (GetViewportY()>20)
    object[2].Visible = true;
affichera l'objet 2 si le joueur a déplacé la caméra de 20 pixels vers le bas.

Voir Aussi : GetViewportX, SetViewport


GetWalkableAreaAt

GetWalkableAreaAt (int x, int y)
Retourne le numéro de la zone de déplacement à l'ECRAN aux coordonnées (X,Y). S'il ne se trouve pas de zone de déplacement à cet endroit, ou si les coordonnées spécifiées sont invalides, retourne 0.

NOTE: Les coordonnées sont celles à l'ECRAN, PAS celles de la pièce. Cela signifie qu'avec une pièce plus grande que l'écran, les coordonnées que vous passez sont relatives à la position actuelle de la caméra, et ne sont PAS les coordonnées absolues de la pièce. Ceci signifie qu'il convient d'utiliser cette fonction avec les variables retournant la position du curseur de la souris.

Exemple :

if (GetWalkableAreaAt(mouse.x,mouse.y) == 0)
    Display ("Vous ne pouvez pas marcher ici.");
Voir Aussi : Hotspot.GetAtScreenXY, Region.GetAtRoomXY, GetScalingAt


HasPlayerBeenInRoom

HasPlayerBeenInRoom(int numero_piece)
Vérifie si le joueur s'est déjà rendu dans la pièce NUMERO_PIECE (c'est-à-dire si l'événement 'First Time Player Enters Room' s'est déjà déclenché). Retourne 1 si c'est le cas, sinon 0.

Vous pouvez utiliser cette fonction pour déterminer si le joueur a déjà été à un endroit particulier au préalable. Si vous redémarrez la pièce avec ResetRoom, alors cette commande retournera 0 jusqu'à ce que le joueur y retourne.

Cette commande retournera 1 si vous l'utilisez avec la pièce actuelle, et 0 si vous l'utilisez avec une pièce sans sauvegarde de statut (c'est-à-dire les pièces numérotées à partir de 301).

Exemple :

if (HasPlayerBeenInRoom(14)) {
  Display("Le joueur s'est déjà rendu dans la pièce 14.");
}
affichera un message si le joueur a déjà visité la pièce 14.

Voir Aussi : ResetRoom


RawClearScreen

RawClearScreen (int couleur)
La famille des fonctions "raw" vous permettent de manipuler directement les graphismes à l'écran pour y faire un peu ce que vous voulez. Cependant, tout ce que vous ferez avec ces fonctions sera permanent à l'écran jusqu'à ce que le joueur quitte la pièce. Ces fonctions sont très utiles pour faire des choses comme une fenêtre statut pour le personnage dans laquelle vous voudriez afficher directement des informations à l'écran.

Cette fonction nettoie l'écran en le remplissant avec la couleur COULEUR (qui est un nombre de la Palette de l'éditeur). Tout ce qui constitue actuellement l'arrière-plan sera effacé.

NOTE : les GUI affichés le resteront au premier plan, donc si vous voulez avoir un contrôle complet de l'affichage à l'écran, vous devrez également désactiver l'affichage des GUI.

NOTE : Les fonctions Raw dessineront toujours sur l'arrière-plan uniquement.

Exemple :

RawClearScreen(31); 
remplira l'écran avec une couleur bleue.

Voir Aussi : RawSetColor


RawDrawCircle

RawDrawCircle (int x, int y, int rayon)
Dessine un cercle d'un rayon de RAYON centré aux coordonnées (X,Y), rempli de la couleur de dessins raw actuelle.

Exemple :

RawDrawCircle(160,100,50); 
dessinera un cercle au centre de l'écran, d'un rayon de 50 pixels.

Voir Aussi : RawDrawLine, RawSetColor


RawDrawFrameTransparent

RawDrawFrameTransparent(int image, int transparence)
Dessine l'image d'arrière-plan numéro IMAGE par-dessus l'arrière-plan actuel, avec une transparence de TRANSPARENCE.

Ceci vous permet par exemple d'appliquer des fondus jour-nuits ou autres effets spéciaux.

NOTE : Cette commande fonctionne uniquement avec des arrière-plan en hautes-couleurs.

NOTE : Cette commande peut s'avérer un peu lente, évitez donc de l'employer dans repeatedly_execute.

ASTUCE : Si vous voulez afficher le nouvel arrière-plan en fondu, pensez à appeler RawRestoreScreen avant d'utiliser cette commande, sinon l'effet sera trop rapide.

Exemple :

RawDrawFrameTransparent(1, 50);
en supposant que l'arrière-plan actuel soit l'image principale 0, ceci dessinera l'image 1 par-dessus à une opacité de 50%.

Voir Aussi : SetAmbientTint


RawDrawImage

RawDrawImage (int x, int y, int slot)
Dessine l'image numéro SLOT du le sprite manager sur l'arrière-plan de la pièce aux coordonnées (X,Y).

NOTE : Les coordonnées X et Y sont les coordonnées de la PIECE, PAS celles de l'ECRAN. Cela signifie que dans une pièce plus large que l'affichage à l'écran, vous pouvez dessiner en-dehors de la zone actuellement visible.

NOTE : Cette commande fonctionne uniquement si la profondeur des couleurs de l'image à dessiner est la même que celle de l'arrière-plan.

Exemple :

RawDrawImage(100,100,134); 
dessinera l'image contenue dans l'emplacement 134 du sprite manager aux coordonnées 100,100.

Voir Aussi : RawDrawImageResized, RawDrawImageTransparent, RawDrawLine, RawPrint


RawDrawImageResized

RawDrawImageResized(int x, int y, int slot, int largeur, int hauteur)
Dessine l'image numéro SLOT du sprite manager sur l'arrière-plan de la pièce aux coordonnées (X,Y), mais redimensionnée selon (LARGEUR, HAUTEUR). Ceci vous permet d'afficher une sprite à n'importe quelle taille (LARGEUR et HAUTEUR sont des coordonnées respectant la résolution 320x200, comme d'habitude).

Exemple :

RawDrawImageResized(100, 100, 134, 50, 50);
dessinera la sprite 134 aux coordonnées (100, 100) à l'écran, à une dimension de 50x50 pixels.

Voir Aussi : RawDrawImage, RawDrawImageTransparent


RawDrawImageTransparent

RawDrawImageTransparent(int x, int y, int slot, int transparence)
Dessine l'image numéro SLOT du sprite manager sur l'arrière-plan de la pièce aux coordonnées (X,Y), avec une transparence de TRANSPARENCE pourcents.

TRANSPARENCE va de 0 à 100 ; passer une TRANSPARENCE de 50 dessinera l'image à moitié transparente ; passer 0 revient à appeler simplement la commande normale RawDrawImage.

NOTE : Cette commande ne fonctionne pas dans les jeux 256 couleurs, ou avec les sprites 256 couleurs.

Exemple :

RawDrawImageTransparent(100, 100, 134, 75);
dessinera la sprite 134 aux coordonnées (100, 100) à l'écran, avec une tranparence de 75 pourcents.

Voir Aussi : RawDrawImage, RawDrawImageResized


RawDrawLine

RawDrawLine (int de_x, int de_y, int a_x, int a_y)
Dessine une ligne de (DE_X, DE_Y) à (A_X, A_Y) dans la couleur de dessins raw actuelle.

NOTE : Les coordonnées X et Y sont les coordonnées de la PIECE, PAS celles de l'ECRAN. Ceci signifie que dans une pièce plus large que l'écran, vous pouvez dessiner en-dehors de la zone actuellement visible.

Exemple :

RawDrawLine(0,0,160,100); 
dessinera une ligne depuis le coin gauche-haut de l'écran (0,0) jusqu'au centre de l'écran (160,100).

Voir Aussi : RawDrawCircle, RawDrawRectangle, RawDrawTriangle, RawSetColor


RawDrawRectangle

RawDrawRectangle (int x1, int y1, int x2, int y2)
Dessine un rectangle plein dans la couleur de dessins raw actuelle, dont le coin haut-gauche sera aux coordonnées (X1,Y1) et le coin bas-droit à (X2,Y2)

Les coordonnées X et Y sont les coordonnées de la PIECE, PAS celles de l'ECRAN. Ceci signifie que dans une pièce plus large que l'écran, vous pouvez dessiner en-dehors de la zone actuellement visible.

Exemple :

RawDrawRectangle(0,0,160,100); 
dessinera un rectangle sur le quart haut-gauche de l'écran.

Voir Aussi : RawDrawImage, RawDrawLine


RawDrawTriangle

RawDrawTriangle (int x1, int y1, int x2, int y2, int x3, int y3)
Dessine un rectangle plein dans la couleur de dessins raw actuelle dont les sommets seront aux coordonnées (X1,Y1), (X2,Y2) et (X3,Y3).

Bon, me regardez pas comme ça, vous trouverez sûrement ça utile pour quelque chose :-)

Exemple :

RawDrawTriangle(0,0,160,100,0,200); 
dessinera un triangle dont les sommets sont les points (0,0), (160,100), (0,200).

Voir Aussi : RawDrawImage, RawDrawLine, RawDrawRectangle


RawPrint

RawPrint (int x, int y, string texte, ...)
Cette fonction écrit le TEXTE spéicifié à l'écran aux coordonnées (X,Y). Le texte sera écrit dans la police normale et dans la couleur de dessins raw actuelle.

Vous pouvez insérer des valeurs de variables dans le message. Pour plus d'informations, voyez la section Le format string.

Exemple :

int puissance;
RawPrint (10,10,"Puissance : %d",puissance); 
affichera la string "Puissance :" suivie de la valeur de l'entier puissance, aux coordonnées 10,10. Utile pour créer un écran de statuts.

Voir Aussi : RawPrintMessageWrapped, RawSetColor, SetNormalFont


RawPrintMessageWrapped

RawPrintMessageWrapped (int x, int y, int largeur, int font, int numero_message)
Cette fonction écrit le message NUMERO_MESSAGE (qui peut être un message global ou un message de pièce) directement à l'écran aux coordonnées (X,Y), en utilisant la police FONT.

LARGEUR est la largeur de la boîte virtuelle entourant le texte, et définit où le texte devra retourner à la ligne. Cette fonction est faite pour permettre d'écrire un long message à l'écran tout en effectuant des retours de ligne normaux comme dans une boîte de texte standard.

Le texte sera écrit en utilisant la couleur de dessins raw actuelle.

Exemple :

RawPrintMessageWrapped (80, 40, 160, 1, 10); 
affichera le message de pièce numéro 10 au centre de l'écran, en commençant à la coordonnée Y = 40.

Voir Aussi : RawPrint, RawSetColor


RawRestoreScreen

RawRestoreScreen ()
Restaure l'écran depuis l'image de sauvegarde créée avec RawSaveScreen. Utilisez ceci lorsque vous voulez retrouver ce qui était affiché avant que vous commenciez à dessiner.

Exemple :

RawSaveScreen();
RawDrawTriangle(0,0,160,100,0,200);
Wait(80);
RawRestoreScreen(); 
sauvegardera l'écran, dessinera un triangle, attendra deux secondes, puis restaurera l'écran initial.

Voir Aussi : RawSaveScreen


RawSaveScreen

RawSaveScreen ()
Crée une copie de sauvegarde de l'arrière-plan actuel, afin de pouvoir le restaurer plus tard. Ceci peut être utile pour garder l'image originale en mémoire avant d'écrire dessus, ou pour sauvegarder une certaine étape de votre dessin pour le réafficher plus tard. Une seule image peut exister comme copie de sauvegarde à la fois, cette commande écrase donc toute image précédemment contenue dans la copie.

NOTE : L'image de sauvegarde est perdue lorsque le joueur quitte l'écran, ou s'il charge une partie. Pour cela, il est préférable d'utiliser cette fonction uniquement pour les effets à courts termes.

Exemple :

RawSaveScreen();
RawDrawTriangle(0,0,160,100,0,200);
Wait(80);
RawRestoreScreen(); 
sauvegardera l'écran, dessinera un triangle, attendra deux secondes, puis restaurera l'écran initial.

Voir Aussi : RawRestoreScreen


RawSetColor

RawSetColor (int couleur)
Définit la COULEUR à utiliser pour les prochains dessins raw. Vous devez passer un nombre, que vous pouvez récupérer depuis le Jeu, dans la Palette de l'éditeur.

Exemple :

RawSetColor(1984); 
utilisera le vert comme couleur de dessin.

Voir Aussi : RawClearScreen, RawDrawLine, RawPrint, RawSetColorRGB


RawSetColorRGB

RawSetColorRGB(int rouge, int vert, int bleu)
Définit la couleur à utiliser pour les prochains dessins raw. La couleur spécifiée est composée de ROUGE, VERT et BLEU - chacun peut valoir entre 0 et 255.

Cette commande est lente dans des jeux de 256 couleurs, puisque la palette doit être scannée pour que le moteur trouve la couleur s'en rapprochant le plus.

Exemple :

RawSetColorRGB(255, 255, 255); 
utilisera le blanc total comme couleur de dessin.

Voir Aussi : RawSetColor


ReleaseViewport

ReleaseViewport ()
Débloque la caméra, l'autorisant à se déplacer automatiquement pour suivre les déplacements du personnage joueur, de façon normale.

Exemple :

int x;
while (x<100) {
   SetViewport(x,0);
   x++; 
   Wait(1);
}
ReleaseViewPort();
déplacera la caméra de 100 pixels vers la droite puis la remettra dans sa position originale et la débloquera.

Voir Aussi : SetViewport


RemoveWalkableArea

RemoveWalkableArea (int numzone)
Supprime les zones de déplacements de couleur NUMZONE dans la pièce actuelle. Vous pouvez réactiver ces zones avec RestoreWalkableArea.

NOTE : Lorsque le joueur quitte la pièce, toutes les zones de déplacement libre sont restaurées. Ainsi, si vous voulez qu'une zone reste désactivée après que le joueur a quitté l'écran, vous devrez utiliser un marqueur pour utiliser la commande RemoveWalkableArea dans l'événement "Player enters room" lorsque le joueur reviendra.

Exemple :

RemoveWalkableArea(5); 
supprimera la zone de déplacement numéro 5.

Voir Aussi : RestoreWalkableArea


ResetRoom

ResetRoom (int numero_piece)
Libère toutes les données que le moteur a en mémoire à propos de la pièce depuis que le joueur y est entré, et les redéfinit comme s'il n'y était jamais entré. La prochaine fois que le joueur ira dans cette pièce, tous les objets et scripts seront dans leur état initial (comme défini dans l'éditeur), et pas comme ils étaient lorsque le joueur a quitté la pièce. L'événement "First time enters room" sera déclenché lorsque le joueur reviendra.

Cette fonction est utile si vous voulez mettre une option "Voir intro" pour permettre au joueur de regarder une intro une nouvelle fois - cette fonction permet de remettre tous les objets de la pièce dans leur position de départ.

NOTE : Vous ne pouvez pas remettre la pièce actuelle à zéro (c'est-à-dire la pièce dans laquelle le joueur se trouve).

Exemple :

ResetRoom(0); 
remettra la pièce d'intro à zéro de façon à pouvoir la rejouter si le joueur le veut.

Voir Aussi : HasPlayerBeenInRoom


RestoreWalkableArea

RestoreWalkableArea (int numzone)
Réactive la zone de déplacement NUMZONE.

Exemple :

RestoreWalkableArea(4); 
permettra au joueur de se déplacer à nouveau sur la zone de déplacement numéro 4.

Voir Aussi : RemoveWalkableArea


SetAreaScaling

SetAreaScaling(int zone, int min, int max)
Change l'échelle de zoom de la zone de déplacement numéro ZONE.

Il y a deux façons d'utiliser cette commande :
1. Passer la même valeur pour MIN et MAX. Ceci donnera un zoom fixe unique pour la zone de déplacement (comme si l'option "Use continuous scaling" de l'éditeur n'était pas cochée).
2. Passer des valeurs différentes pour MIN et MAX. Dans ce cas, le zoom continu est activé pour la zone de déplacement, et ira de MIN en haut de la zone à MAX en bas.

MIN et MAX ont des valeurs entre 5 et 200, comme dans l'éditeur. Passez 100 pour les deux valeurs afin de revenir à un niveau de zoom normal (100%) pour la zone.

Exemple :

SetAreaScaling(5, 120, 170);
fera utiliser un zoom continu allant de 120 à 170 pourcents pour la zone de déplacement numéro 5.

Voir Aussi : GetScalingAt, GetWalkableAreaAt


SetBackgroundFrame

SetBackgroundFrame (int image)
Fige l'arrière-plan sur l'image numéro IMAGE pour un écran d'arrière-plan animé. (Les valeurs de FRAME vont de 0 à 4). Ceci vous permet d'utiliser les arrière-plans animés pour d'autres buts - vous pouvez avoir deux images d'arrière-plan, où un vaisseau s'est écrasé sur la deuxième, par exemple. Une fois que le crash s'est produit, appelez SetBackgroundFrame dans l'événement "Player Enters Room" pour utiliser cette image comme arrière-plan.

Appelez SetBackgroundFrame(-1) pour utiliser l'image par défaut.

L'arrière-plan est débloqué lorsque le jeu change de pièce.

Exemple :

if (GetGlobalInt(20)==1)
    SetBackgroundFrame(4); 
changera l'image d'arrière-plan actuelle pour utiliser la numéro 4 si la variable entière globale 20 vaut 1.

Voir Aussi : GetBackgroundFrame


SetFadeColor

SetFadeColor(int rouge, int vert, int bleu)
Change la couleur vers laquelle l'écran se fond, dans la valeur RGB spécifiée. Chaque paramètre est compris entre 0 et 255. La valeur par défaut est le noir : (0, 0, 0).

La couleur que vous définissez ici sera utilisée dans tous les appels futurs de FadeIn/FadeOut, ainsi que dans les écrans de transition s'ils utilisent les Fade In/Out.

Exemple :

SetFadeColor(200, 0, 0);
signifiera que la prochaine fois que l'écran se fondra, la couleur virera vers le rouge plutôt que vers le noir.

SeeAlso: FadeIn, FadeOut, SetScreenTransition


SetNextScreenTransition

SetNextScreenTransition(TransitionStyle)
Définit le type de transition entre les pièces à TransitionStyle, mais SEULEMENT pour le prochain changement de pièces. Après cela, le type de transition reviendra au type normal spécifié dans l'éditeur ou spécifié avec SetScreenTransition.

Les différentes valeurs possibles pour TransitionStyle sont listées ici : SetScreenTransition.

Exemple :

SetNextScreenTransition(eTransitionBoxout);
character[EGO].ChangeRoom(10);
ira à la pièce numéro 10 en utilisant un effet box-out, et retournera ensuite au type de transition normal.

SeeAlso: SetScreenTransition


SetScreenTransition

SetScreenTransition(TransitionStyle)
Change le type de transition d'écrans par défaut. TransitionStyle peut valoir :
eTransitionFade          Transition en fondu
eTransitionInstant       Transition instantannée
eTransitionDissolve      Transition en défragmentation ('pointillés')
eTransitionBoxout        Transition en zoom rectangulaire
eTransitionCrossfade     Transition en superposition transparente
La meilleure façon de comprendre le rendu de ces modes est de les tester.

Toutes les transitions futures seront faites en respectant la valeur que vous avez passez, jusqu'à ce que vous réutilisiez cette fonction.

Exemple :

SetScreenTransition(eTransitionFade); 
changera les transitions d'écrans pour le mode Fade (Fondu).

SeeAlso: SetNextScreenTransition


SetViewport

SetViewport (int x, int y)
Fige la caméra de façon à ce que le coin gauche de l'écran correspondent aux coordonnées (X,Y) de la pièce. Ceci vous permet de parcourir manuellement la pièce avec la caméra ou bien de suivre un personnage non-joueur.

La caméra est débloquée lorsque vous appelez ReleaseViewport ou lorsque le joueur change de pièce.

NOTE : Les coordonnées entrées respectent la résolution 320x200, et seront automatiquement adaptées par le moteur.

NOTE : Cette fonction n'a aucun effet si la pièce actuelle n'est pas plus grande que l'écran, si elle ne "déborde" pas.

Exemple :

int ypos = 0;
while (ypos < 60) {
  SetViewport(0, ypos);
  Wait(1);
  ypos++;
}
ReleaseViewport();
déplacera la caméra de 60 pixels vers le bas depuis le haut, puis la reconcentrera sur le joueur.

Voir Aussi : GetViewportX, GetViewportY, ReleaseViewport


SetWalkBehindBase

SetWalkBehindBase (int zone, int baseline)
Donne à la zone "par-dessus" numéro ZONE une nouvelle BASELINE. Ceci vous permet aussi bien de désactiver les zones que de faire d'autres choses. BASELINE est compris entre 1 et la hauteur de la pièce (normalement 200) et déplace la ligne que vous aviez initialement placée à l'aide de l'éditeur.

Passer 0 pour BASELINE désactive la zone "par-dessus", de façon à ce que le joueur ne sera jamais recouvert par elle.

A la base, si les pieds du personnage se trouvent sous la BASELINE, il sera dessiné par-dessus, sinon il sera dessiné derrière.

Exemple :

SetWalkBehindBase (3,0); 
désactivera la zone "par-dessus" numéro 3.

Voir Aussi : Object.Baseline


ShakeScreen

ShakeScreen (int force)
Secoue l'écran pour simuler, par exemple, un tremblement de terre. FORCE est la force des secousses de l'écran : 1 est presque imperceptible, et 25 est très fort.

Exemple :

ShakeScreen(5); 
secouera un peu l'écran.

Voir Aussi : ShakeScreenBackground


ShakeScreenBackground

ShakeScreenBackground (int delai, int force, int longueur)
Secoue l'écran pour simuler, par exemple, un tremblement de terre. Le jeu n'est durant les secousses de l'écran - l'effet continuera en arrière-plan.

DELAI définit le temps que durera chaque secousse - 2 est la plus petite valeur que vous pouvez passer, et donnera des secousses très fréquentes.

FORCE définit la force des secousses - c'est-à-dire à quel point l'écran se déplace lorsque les secousses ont lieu. La valeur va de 1, qui est un tremblement très faible, jusqu'à 30 qui représente de très fortes secousses.

LONGUEUR définit combien de temps le tremblement durera, en cycles de jeu. Par exemple, 80 secouera l'écran 2 secondes, à la vitesse de jeu par défaut.

Vous pouvez stopper toute secousse d'arrière-plan en cours en appelant cette commande en passant 0 pour le paramètre LONGUEUR.

Exemple :

ShakeScreenBackground (4, 10, 80); 
secouera faiblement l'écran pendant 2 secondes.

Voir Aussi : ShakeScreen


TintScreen

TintScreen (int rouge, int vert, int bleu)
Teinte l'écran avec les valeurs RGB spécifiées. ROUGE, VERT et BLEU vont de 1 à 100.

Passez (0, 0, 0) pour annuler toute teinte et revenir à l'aspect normal de l'écran.

NOTE : Cette commande reste pour le moment expérimentale, puisqu'elle ralentit sensiblement la machine, particulièrement à de hautes résolutions. Si vous l'utilisez, vous devriez prévoir une option qui permette au joueur de la désactiver.

NOTE : Ceci ne fonctionne que dans les jeux hautes-couleurs.

Exemple :

TintScreen (100, 50, 50); 
teintera l'écran d'une certaine dose de rouge.


Messages propriété

(Anciennement fonction globale GetMessageText, désormais obsolète)

readonly static String Room.Messages[int message]
Retourne le texte du message de pièce spécifié. Ceci est utile si vous voulez stocker, par exemple, une description de la pièce dans le Message 1 pour chaque pièce -- cette propriété vous permet de récupérer le texte pour le message de la pièce courante.

Si un numéro de message invalide est entré, null sera retournée. Sinon, le contenu du message sera retourné.

Exemple :

String message1 = Room.Messages[1];
Display("Le message 1 dit : %s", message1);
affichera le contenu du message de pièce numéro 1.