Rechercher - Liste des utilisateurs
Version complète : Votre avis : améliorer/simplifier les SimpleSquares
Accueil » Créer des cases SimpleSquares » Votre avis : améliorer/simplifier les SimpleSquares
1 2 3 4
intello
Qu'entends tu par "typer les attributs du joueur" dans la roadmap de la version 3.
(A propos , il est indiqué que tu as fait en sorte que les téléporteurs soient numérotés dans la version 5.2 Pourquoi ne l'insererais tu pas dans le prochain build?)
sjrd
intello
Qu'entends tu par "typer les attributs du joueur" dans la roadmap de la version 3.

Hum c'est pas facile à expliquer. En fait si en FunDelphi tu fais :
attributes
  MyAttribute;

Tu déclares un attribut supplémentaire pour le joueur. Cet attribut est toujours de type Integer, c'est-à-dire que c'est toujours un nombre entier.
Dans GenericSquares\SimpleBridges.fnd, par exemple, il y a :
attributes
  IsAboveBridge;

Après, on peut utiliser cet attribut sur le joueur avec par exemple :
Player.MyAttribute := 5;

L'idée de typer ces attributs, c'est de pouvoir spécifier le type d'un attribut, et donc d'avoir autre chose qu'un nombre entier. Par exemple, on pourrait inventer :
attributes
  FullName: string;

Ce qui ferait que FullName serait un attribut chaîne de caractères (texte, donc).

intello
(A propos , il est indiqué que tu as fait en sorte que les téléporteurs soient numérotés dans la version 5.2 Pourquoi ne l'insererais tu pas dans le prochain build?)

Hum oui je peux essayer de faire ça. Je vais néanmoins me dépêcher moins que pour le bug que j'ai inséré dans le build 2.
Xaumina
A propos des SimplesSquares, j'ai une idée (qui ne permetra pas de les simplifier) : un "minuteur".
Ce serait un effet spécial. Quand on en crée un, on commence par sélectionner deux cases sur mainmap : le "départ" et "l'arrivée". Ensuite, on fait un message (par exemple : vous avez cinq minutes pour arriver à la fin du labyrinthe) qui s'affichera quand le joueur sera sur la case départ (de même pour la case arrivée, "vous avez réussi le labyrinthe dans le temps imparti"). Ensuite, on choisit une certaine durée (par ex. 5 min) et si l'on veut, on choisit une "fréquence de message" : par exemple, si l'on veut qu'un message s'affiche toutes les 10 secondes (vous avez encore 4 min 50, vous avez encore 4 min 40...), on choisit la fréquence 10 secondes et on écrit tous les messages dont on a besoin (comme expliqué dans la ligne juste au-dessus).
Dernière étape, on choisit si le joueur gagne ou continue si il est parvenu au bout du labyrinthe. Et on peut faire apparaître un bouton à partir de la case arrivée. Bien entendu, si le joueur n'arrive pas à temps à la fin du labyrinthe, il perd. Qu'en penses-tu, sjrd ? (je veux bien réexpliquer).
Xaumina
Et si possible, pourrait-tu (si tu le fais) le mettre dans les sources .ssq ?
sjrd
Le mécanisme, en soi, existe déjà : il est dans Units\Utils\Stopwatches.pas. C'est conçu pour être réutilisé facilement dans un .fnd simple. Mais bon reste à faire le .fnd.

Alors voilà deux unités .fnd que je t'ai faites, qui font (presque) ce que tu veux. Je t'explique comme les utiliser.

Dans ton labyrinthes, tu fais Fichier|Unités utilisées, et tu ajoutes, dans l'ordre, les unités suivantes :
GraphicsHandling\GaugeDisplay.scu
Utils\Stopwatches.scu
Utils\GenericStopwatches.scu
GenericSquares\StopwatchSquares.scu

Puis tu as un plugin qui apparaît dans lequel tu peux spécifier le temps alloué, en millisecondes (donc 5 secondes ça fait 5000, 3 minutes ça fait 180 000).
Tu as aussi un plugin qui s'appelle GaugeDisplayPlugin, dans lequel tu peux configurer une barre de progression qui va s'ajuster automatiquement au temps restant. Il faut cliquer sur les ... dans l'inspecteur d'objet pour la propriété Gauges, puis sur le petit "+" en bas de l'inspecteur d'objet. Et puis dans la propriété RelatedComponent, tu mets "LoseStopwatchPlugin" (sans les ").

N'oublie pas d'attacher ces deux plugins au joueur, en sélectionnant le joueur, puis, dans l'inspecteur d'objets, en mettant True en face de LoseStopwatchPlugin et de GaugeDisplayPlugin.

Finalement, dans la palette des composants, tu as une nouvelle catégorie : Chronomètres. Tu as un bouton pour créer un effet qui déclenche un chronomètre, et un qui l'arrête. Crées-en un de chaque, et dans leur propriété Stopwatch, tu sélectionnes LoseStopwatchPlugin. Tu peux, si tu veux, associer un message à afficher au démarrage/à l'arrêt via la propriété StartMessage/StopMessage. Tu peux mettre l'image que tu veux en modifiant leur Painter.

S'il y a un truc pas clair, dis-le-moi
Xaumina
Merci beaucoup ! Mais, malheureusement, il semble que je n'ai pas Utils\GenericStopwatches.scu ni
GenericSquares\StopwatchSquares.scu. Du moins ne sont-ils pas dans les fichiers où ils devraient être.
Voici un passage que je n'ai pas compris :

Tu as aussi un plugin qui s'appelle GaugeDisplayPlugin, dans lequel tu peux configurer une barre de progression qui va s'ajuster automatiquement au temps restant. Il faut cliquer sur les ... dans l'inspecteur d'objet pour la propriété Gauges, puis sur le petit "+" en bas de l'inspecteur d'objet. Et puis dans la propriété RelatedComponent, tu mets "LoseStopwatchPlugin" (sans les ").

Sinon, il semble que j'ai tout compris. merci (plus que beaucoup !)

sjrd
Xaumina
Merci beaucoup ! Mais, malheureusement, il semble que je n'ai pas Utils\GenericStopwatches.scu ni
GenericSquares\StopwatchSquares.scu. Du moins ne sont-ils pas dans les fichiers où ils devraient être.

Tu dois décompresser le zip que j'ai mis plus haut dans Documents Publics\FunLabyrinthe, et répondre "Oui" quand il te demande d'écraser des dossiers qui existent.
Xaumina
Voici un passage que je n'ai pas compris :

Tu as aussi un plugin qui s'appelle GaugeDisplayPlugin, dans lequel tu peux configurer une barre de progression qui va s'ajuster automatiquement au temps restant. Il faut cliquer sur les ... dans l'inspecteur d'objet pour la propriété Gauges, puis sur le petit "+" en bas de l'inspecteur d'objet. Et puis dans la propriété RelatedComponent, tu mets "LoseStopwatchPlugin" (sans les ").

Sinon, il semble que j'ai tout compris. merci (plus que beaucoup !)

Eh bien tu cliques sur le plugin qui a comme étiquette "GaugeDisplayPlugin". Tu as alors l'inspecteur d'objet qui ressemble à ce qui est dans le Screenshot1.png que j'ai joint à ce message.

Tu cliques alors sur les "..." en face de Gauges dans l'inspecteur d'objet. Tu as maintenant le Screenshot2.png. Tu cliques maintenant, en bas, sur le petit "+" vert. Tu obtiens le Screenshot3.png.

Il ne te reste plus qu'à écrire, en face de RelatedComponent : LoseStopwatchPlugin.
Xaumina
Quand j'appuie sur les trois points, il fait disparaître l'inspecteur d'objets. Que faire ?
sjrd
Euh oui mais il fait alors apparaître l'éditeur de collection en-dessous de l'inspecteur d'objets, non ? Comme dans le screenshot 2.
Xaumina
Ah d'accord. Merci.
Les boutons, je les fais avec ssq ?
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