Pages traduites Pages à traduire Pages en cours de traduction
A propos
 

Ceci est une ancienne révision du document !



Fonctions des Pièces (Room)

AreThingsOverlapping

AreThingsOverlapping(int chose1, int chose2)
Vérifie si deux personnages 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


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


GetDrawingSurfaceForBackground

static DrawingSurface* Room.GetDrawingSurfaceForBackground(optional int backgroundNumber)
Retourne une surface de dessin (drawing surface) contenant l'arrière-plan de la pièce, ce qui vous permet de dessiner sur son image. Vous pouvez spécifier un numéro d'image pour l'arrière-plan si vous le voulez ; si vous ne le faites pas, c'est l'image en cours qui sera retournée.

Après avoir appelé cette méthode, utilisez les fonctions DrawingSurface pour modifier l'arrière-plan, puis appelez Release sur la surface lorsque vous avez fini.

Les changements que vous appliquez seront annulés lorsque le joueur quittera la pièce, et ils seront alors perdus. Si vous devez faire des changements permanents, vous pouvez soit utiliser cette méthode dans l'événement Player Enters Room (Le Joueur Entre dans la Pièces), soit envisager d'utiliser une image supplémentaire comme arrière-plan.

NOTE : Dessiner sur l'arrière-plan de la pièce peut être lent, particulièrment si vous utilisez le pilote Direct3D. N'utilisez pas cette commande dans repeatedly_execute ; assurez-vous de n'utiliser cette commande qu'en cas d'absolue nécessité.

Exemple :
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
surface.DrawingColor = 14;
surface.DrawLine(0, 0, 50, 50);
surface.Release();

dessine une ligne diagonale jaune depuis le bord gauche-haut de l'arrière-plan de la pièce en cours, puis met à jour l'image.

Voir aussi : DrawingSurface.DrawLine, DrawingSurface.Release


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

(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


ProcessClick (Room)

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

static void Room.ProcessClick(int x, int y, CursorMode)

Simule un clic de la souris aux coordonnées (X,Y) sur l’écran dans le mode de curseur spécifié. Ce clic a la particularité de ne s’exécuter que sur les éléments de la Room ou sur les personnages aux coordonnés spécifiés. Les interfaces du jeu (boutons, sliders…) seront ignorés. Si les coordonnés tombent sur un élément d’interface, le clic passera au travers de cet élément comme s’il n’existait pas.

Les modes de curseur disponibles sont ceux définis dans la partie Curseurs de l'éditeur (précédés de eMode). En général, ce sont eModeWalkto, eModeLook, etc.

Exemple:

Room.ProcessClick(100, 50, eModeLookat);

Simulera un clic de la souris aux coordonnées (100,50) dans le mode Regarder en ignorant l'interface.

Compatibilité: Supporté à partir de la version AGS 3.4.0

Voir Aussi : Mouse.Click, IsInteractionAvailable, GUI.ProcessClick, Hotspot.RunInteraction


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


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 : 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 recentrera sur le joueur.

Voir Aussi : GetViewportX, GetViewportY, ReleaseViewport


SetWalkBehindBase

SetWalkBehindBase (int zone, int baseline)
Donne à la zone couvrante (Walkbehind area) 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 couvrante, 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 couvrante numéro 3.

Voir Aussi : Object.Baseline


BottomEdge

readonly static int Room.BottomEdge
Retourne la coordonnée Y du bord bas du cadre de la pièce, tel que défini dans l'onglet Room Settings (Réglages de la Pièces) dans l'éditeur.

Exemple :
Display("Le bord bas de la pièce actuelle se trouve à %d.", Room.BottomEdge);

Voir aussi : Room.LeftEdge, Room.RightEdge, Room.TopEdge


ColorDepth

readonly static int Room.ColorDepth
Retourne la profondeur de couleurs de l'arrière-plan de la pièce. Ceci est important si vous voulez utiliser DrawImage, puisque toute sprite que vous dessinez doit être de la même profondeur de couleurs que la pièce elle-même.

Exemple :
Display("L'arrière-plan actuel est en couleurs %d-bit.", Room.ColorDepth);

Voir aussi : DrawingSurface.DrawImage


Height

(Anciennement game.room_height, désormais obsolète)

readonly static int Room.Height

Retourne la hauteur de la pièce, en coordonnées 320×200. Correspond à la taille affichée comme “Relative size” (”Taille relative”) dans l'éditeur.

Exemple :

Display("La pièce est de dimension %d x %d.", Room.Width, Room.Height);

Voir aussi : Room.Width


LeftEdge

readonly static int Room.LeftEdge
Retourne la coordonnée X du bord gauche du cadre de la pièce, tel que défini dans l'onglet Room Settings (Réglages de la pièce) dans l'éditeur.

Exemple :
Display("Le bord gauche de la pièce est à %d.", Room.LeftEdge);

Voir aussi : Room.BottomEdge, Room.RightEdge, Room.TopEdge


Messages

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


MusicOnLoad

readonly static int Room.MusicOnLoad
Retourne le numéro de la musique qui est jouée lorsque le joueur entre dans cette pièce, tel que défini dans l'onglet “Room Settings” (”Réglages de la pièce”) dans l'éditeur. Si aucune musique n'est définie pour cette pièce, retourne 0.

Exemple :
Display("La pièce actuelle joue la musique %d lorsque le joueur entre.", Room.MusicOnLoad);

ObjectCount

(Formerly part of GetGameParameter, désormais obsolète)

readonly static int Room.ObjectCount

Retourne le nombre d'objets dans la pièce.

Exemple :

Display("La pièce actuelle contient %d objets.", Room.ObjectCount);

RightEdge

readonly static int Room.RightEdge
Retourne la coordonnée X du bord droit du cadre de la pièce, tel que défini dans l'onglet Room Settings (Réglages de la Pièce) de l'éditeur.

Example:
Display("Le bord droit de la pièce est à %d.", Room.RightEdge);

Voir aussi : Room.BottomEdge, Room.LeftEdge, Room.TopEdge


TopEdge

readonly static int Room.TopEdge
Retourne la coordonnée Y du bord haut du cadre de la pièce, tel que défini dans l'onglet Room Settings (Réglages de la Pièces) de l'éditeur.

Exemple :
Display("Le bord haut de la pièce est à %d.", Room.TopEdge);

Voir aussi : Room.BottomEdge, Room.LeftEdge, Room.RightEdge


Width

(Anciennement game.room_width, désormais obsolète)

readonly static int Room.Width

Retourne la largeur de la pièce, en pixels.

Exemple :

Display("La pièce actuelle est de dimension %d x %d.", Room.Width, Room.Height);

Voir aussi : Room.Height

 
room.1475236797.txt.gz · Dernière modification: 30/09/2016 13:59 par 78.250.179.81
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki