Forum FunLabyrinthe

Le jeu de labyrinthe fun et gratuit - Retour au site

  • Vous n'êtes pas connecté.

#1 fév. 12, 2011 16:30:34

intello
De : Yvelines
Enregistré : 2010-07-25
Messages : 167
Réputation: +  9  -
Profil  

Mettre le nom d'un composant dans un message fundelphi .

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 .


========================================
Pas, Flèches rapides, Flèches masquées, Impossible par Maxime, Elévateurs & Terrains vides,
Jeu de boutons

Admirez mes jeux de flèches, de téléporteurs , d'escaliers , de pas ou de boutons !


Notez ces labyrinthes

Modifié intello (fév. 12, 2011 16:31:33)

Hors-ligne

#2 fév. 12, 2011 17:37:56

sjrd
De : Belgique
Enregistré : 2010-04-11
Messages : 481
Réputation: +  14  -
Profil   Envoyer un courriel  

Mettre le nom d'un composant dans un message fundelphi .

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


---
Sébastien Doeraene
Auteur de FunLabyrinthe

Hors-ligne

#3 fév. 12, 2011 17:50:40

intello
De : Yvelines
Enregistré : 2010-07-25
Messages : 167
Réputation: +  9  -
Profil  

Mettre le nom d'un composant dans un message fundelphi .

Merci moi j'ai ce que je veux


========================================
Pas, Flèches rapides, Flèches masquées, Impossible par Maxime, Elévateurs & Terrains vides,
Jeu de boutons

Admirez mes jeux de flèches, de téléporteurs , d'escaliers , de pas ou de boutons !


Notez ces labyrinthes

Hors-ligne

Pied de page

Modération

Powered by DjangoBB

Lo-Fi Version