Rechercher - Liste des utilisateurs
Version complète : Mettre le nom d'un composant dans un message fundelphi .
Accueil » FunDelphi » Mettre le nom d'un composant dans un message fundelphi .
1
intello
Bonjour, imagine que j'ai
obstacle TFilter5WithMessage
  name 'Point de lumière bloqueur.';
  image 'Filters/LightenCircle';
  on Pushing do
  begin
    inherited;
    if Player has 1 ObjectNoNamed then
    Square.Obstacle := nil
    else 
    Player.ShowMessage ('Il te faut un '' pour détruire ce point de lumière .');
  end;
end;


Que faudrait il mettre à la place de '' pour que fun laby écrive le nom de l'objet ?
Est - ce possible ?

En gros le joueur n'aurait qu'à choisir le nom de l'objet qui va détruire le point de lumière .
sjrd
Déjà, tu devrais utiliser des actions pour faire ça :
actions
  DestroyBlockingLight;

components
  // ...

obstacle TFilter5WithMessage
  name 'Point de lumière bloqueur.';
  image 'Filters/LightenCircle';

  on Pushing do
  begin
    inherited;

    if Player can DestroyBlockingLight then
      Square.Obstacle := nil
    else 
      Player.ShowMessage('Il te faut un '' pour détruire ce point de lumière .');
  end;
end;

object TObjectNoNamed
  // ...

  action DestroyBlockingLight;
end;

Ensuite, oui, tu peux insérer le nom d'un objet. Il suffit d'accéder à son attribut Name. Et pour faire bien, utiliser un Format :
    if Player can DestroyBlockingLight then
      Square.Obstacle := nil
    else 
      Player.ShowMessage(Format(
        'Il te faut un %s pour détruire ce point de lumière .',
        [ObjectNoNamed.Name]));
  end;

Mais je ne comprends pas bien le lien avec ceci :
intello
En gros le joueur n'aurait qu'à choisir le nom de l'objet qui va détruire le point de lumière.

Moi je comprends ça comme : le joueur a plusieurs objets qui pourraient lui permettre de détruire le point de lumière, et tu voudrais lui demander lequel il veut utiliser ?

Si c'est ça, c'est automatique si tu utilises des actions, comme je l'ai écrit plus haut. Si le joueur a plusieurs objets qui déclarent réaliser l'action DestroyBlockingLight, eh bien FunLabyrinthe va lui demander tout seul lequel il veut utiliser lorsqu'on fait
if Player can DestroyBlockingLight then
intello
Merci moi j'ai ce que je veux
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB