Xaumina
juin 30, 2011 11:27:53
J'aimerais savoir si un composant, un obstacle de préférence, pourrait "faire de la lumière", de la même manière que le joueur, la vision étant gêné par ViewRestrictionPlugin.
Peu m'importe si c'est en FunDelphi ou en Delphi. Excuse-moi si c'est compliqué, mais ça me rendrait un bon service.
sjrd
juil. 1, 2011 10:16:31
C'est possible. J'avais déjà pensé à faire un truc dans le genre.
Bon là je suis encore très occupé pendant quelques jours. Après mes vacances commencent, et j'aurai le temps de te faire ça.
Xaumina
juil. 2, 2011 15:38:34
Merci ! Ca ne presse pas, de toute façon.
sjrd
juil. 14, 2011 10:52:02
J'ai pu m'y mettre hier et aujourd'hui.
J'ai quelque chose qui fonctionne, mais qui est malheureusement trop exigeant en ressources CPU pour l'instant (mon 1,7 GHz supporte à peine deux sources de lumière en même temps).
Donc je dois encore voir comment je peux optimiser la chose.
sjrd
juil. 15, 2011 14:40:20
Voilà. Avec ceci ça devrait le faire. Il faut décompresser les sources dans les répertoires correspondants de la Library. Puis Tout recompiler bien sûr.
Il faut ensuite ajouter l'unité BasicLightSources au projet.
Puis il faut utiliser le plugin AdvViewRestriction au lieu de ViewRestriction sur le joueur.
Si tu veux que le joueur émette de la lumière, il faut lui attacher le plugin CircleLightSourcePlugin et renseigner la propriété LightRadius de ce plugin.
Pour mettre d'autres sources de lumière dans le jeu, il faut créer des "Sources de lumières" avec le bouton dans la catégorie du même nom. Chaque source de lumière est un PosComponent, donc se met à un endroit sur la carte. Chaque source a sa propre propriété LightRadius.
En édition, les sources de lumière dessinent un cercle jaune de la taille appropriée. Ce cercle jaune n'apparaît bien sûr pas en mode jeu.
Xaumina
juil. 16, 2011 13:11:54
Merci, encore une fois !
Mais le plugin CatacombsPlugin (du labyrinthe Catacombes, que j'ai copié) est imcompatible avec le nouveau. Comment faire ? Par la même occasion, j'aimerais bien savoir comment concentrer la lumière sur un étage et sur une carte seulement.