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


Fonctions et propriétés des Objets d'Inventaire

GetAtScreenXY

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

static InventoryItem* InventoryItem.GetAtScreenXY(int x, int y)

Retourne l'objet d'inventaire aux coordonnées d'ECRAN (X,Y). Notez que cette fonction ne détecte que les objets d'inventaire contenus dans les fenêtres Inventaire personnelles (qui s'affichent lorsque la fonction est appelée), et est prévue pour vous permettre de proposer un GUI basé sur des verbes (“Utiliser Objet”,…) et autres du genre.

S'il n'y a aucune objet d'inventaire à cet endroit, ou que des coordonnées invalides ont été spécifiées, retourne null .

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

Exemple :

InventoryItem *item = InventoryItem.GetAtScreenXY(mouse.x, mouse.y);
if (item == null) {
Display("Aucun objet d'inventaire aux coordonnées de la souris.");
}
else {
Display("Objet d'inventaire numéro %d à la positions de la souris.", item.ID);
}

affichera le numéro de l'objet d'inventaire que la souris survole.

Voir Aussi : InventoryItem.Name, Game.GetLocationName


GetProperty

(Anciennement GetInvProperty, désormais obsolète)

InventoryItem.GetProperty(string propriété)

Retourne la valeur de la propriété personnelle PROPRIETE pour l'objet d'inventaire.

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

Utilisez la fonction équivalente GetTextProperty pour récupérer une propriété textuelle.

Exemple :

if (inventory[1].GetProperty("Valeur") > 200)
Display("La valeur de l'objet d'inventaire 1 est supérieure à 200 !");

affichera le message si la propriété “Valeur” de l'objet d'inventaire 1 est supérieure à 200.

Voir Aussi : InventoryItem.GetTextProperty


GetTextProperty

(Anciennement GetInvPropertyText, désormais obsolète) (Anciennement InventoryItem.GetPropertyText, désormais obsolète)

String InventoryItem.GetTextProperty(string propriété)

Retourne la valeur de la propriété personnelle PROPRIETE pour l'objet d'inventaire.

Cette commande ne fonctionne qu'avec les propriétés textuelles. Le texte sera retourné par cette fonction.

Utilisez la fonction équivalente GetProperty pour récupérer une propriété non textuelle.

Exemple :

String description = inventory[2].GetTextProperty("Description");
Display("Description de l'objet d'inventaire 2 : %s", description);

récupérera la “description” de l'objet d'inventaire 2 et l'affichera.

Voir Aussi : InventoryItem.GetProperty


IsInteractionAvailable

(Anciennement IsInventoryInteractionAvailable, désormais obsolète)

InventoryItem.IsInteractionAvailable(CursorMode)

Vérifie si une interaction est prévue pour un clic sur l'objet d'inventaire avec le mode de curseur MODE.

Cette fonction est très similaire à RunInteraction, mais au lieu de lancer les événements correspondants, celle-ci retourne simplement 1 lorsque quelque chose se passerait, ou 0 lorsque unhandled_event serait appelée.

Ceci est utile pour activer des choix dans un GUI basé sur les verbes, par exemple.

Exemple :

if (iPortecles.IsInteractionAvailable(eModeLook) == 0)
Display("Regarder cet objet n'aurait aucun effet.");

Voir Aussi : IsInteractionAvailable, InventoryItem.RunInteraction


RunInteraction

(Anciennement RunInventoryInteraction, désormais obsolète)

InventoryItem.RunInteraction(CursorMode)

Lance le code associé à l'évenement correspondant dans la liste des interactions comme si le joueur avait cliqué sur l'objet d'inventaire, en utilisant le mode de curseur MODE.

Exemple :

if (button == eMouseLeftInv)
inventory[game.inv_activated].RunInteraction(mouse.Mode);

lancera l'interaction d'inventaire correspondant au mode de curseur actuel lorsque le joueur cliquera sur l'objet (“Handle Inv Clicks” doit être activé pour que cela fonctionne).

Voir Aussi : InventoryItem.IsInteractionAvailable, ProcessClick, Character.RunInteraction


CursorGraphic

int InventoryItem.CursorGraphic

Retourne/Définit le numéro de l'image utilisée comme curseur de l'objet d'inventaire. L'image servira de curseur lorsque cet élément est sélectionné dans l'inventaire.

NOTE : Cette propriété n'est utilisée que si vous avez activé “Use selected inventory graphic for cursor” (”Utiliser l'image de l'objet d'inventaire sélectionné comme curseur”) dans les General Settings (Réglages Généraux).

Exemple :

Display("L'image de curseur de la clef est l'image numéro %d", iClef.CursorGraphic);

affichera le numéro d'image curseur de l'ojbet d'inventaire iClef.

Compatibilité : Supporté par AGS 3.1.2 et versions ultérieures.

Voir aussi : InventoryItem.Graphic


Graphic

(Anciennement GetInvGraphic, désormais obsolète)

(Anciennement SetInvItemPic, désormais obsolète)

int InventoryItem.Graphic

Retourne/Définit le numéro d'emplacement de la sprite (l'image) de l'objet d'inventaire. Vous pouvez utiliser cela avec la propriété Object.Graphic pour donner l'effet que le joueur 'fait tomber' l'objet d'inventaire ; ou encore cette propriété peut être utile une fenêtre d'inventaire dessinée avec les fonctions DrawingSurface.

NOTE : Pour des raisons de rétro-compatibilité, si vous changez cette propriété alors que CursorGraphic était définie à la même valeur (pointait sur la même image), alors CursorGraphic sera modifiée en conséquence.

Exemple :

int bloc = player.ActiveInventory.Graphic;

stockera le numéro de sprite de l'objet d'inventaire actuel du joueur dans la variable bloc.

Voir Aussi : InventoryItem.GetAtScreenXY, InventoryItem.Name, InventoryItem.CursorGraphic


ID

readonly int InventoryItem.ID
Retourne le numéro d'identification de l'objet d'inventaire spécifié. Cela correspond au numéro figurant dans l'éditeur, et est utile pour utiliser des commandes comme Character.AddInventory, auxquelles il faut passer le numéro de l'objet d'inventaire à ajouter.

Exemple :
AddInventory(EGO, iPelle.ID);

utilise la commande obsolète AddInventory pour ajouter la pelle à l'inventaire de EGO.

Voir Aussi : Character.AddInventory, Character.LoseInventory


Name

(Anciennement GetInvName, désormais obsolète) (Anciennement SetInvItemName, désormais obsolète) (Anciennement InventoryItem.GetName, désormais obsolète) (Anciennement InventoryItem.SetName, désormais obsolète)

String InventoryItem.Name;

Retourne/Définit le nom de l'objet d'inventaire. Ceci est le nom qui est initialement définit dans la fenêtre “Inventory items” de l'Editeur AGS.

Vous pouvez changer cette propriété si par exemple vous voulez remplacer un 'bol' par un 'bol rempli d'eau', sans pour autant utiliser un autre objet d'inventaire.

Notez que la longueur maximale du nom d'un objet d'inventaire est de 24 caractères - si vous donnez un nom plus long, alors le texte sera tronqué.

Exemple :

Display("Objet d'inventaire actif : %s", player.ActiveInventory.Name);

affichera le nom de l'objet d'inventaire que le joueur utilise actuellement.

Voir Aussi : InventoryItem.GetAtScreenXY, InventoryItem.Graphic, Game.GetLocationName

 
inventoryitem.txt · Dernière modification: 13/03/2013 10:43 par 88.171.39.213
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki