JeuWeb - Crée ton jeu par navigateur
[réglé] Champs de vision (map) - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [réglé] Champs de vision (map) (/showthread.php?tid=1443)



[réglé] Champs de vision (map) - nemesis_elite - 08-07-2007

Bonjour à tous,

J'ai une petite question, a propos du champs de vision. Je m'explique, j'ai une map comme çà :
[Image: screen.jpg]
les parties sombres, on va dire c'est parce qu'il fait nuit.
J'aimerai que le champs de vision soit plus arrondi comme çà :
[Image: screen-modif.jpg]

Mais je n'y arrive pas, auriez vous une idées ?

Merci d'avance Smile


RE: [map] Champs de vision - elazard - 08-07-2007

http://www.jeuweb.org/board/showthread.php?tid=622
sur ce tuto c'est géré. Vu que je ne connais pas ton script, je te conseille d'adapter. (j'aimerais savoir si tu as suivi un tuto pour l'affichage en 3D iso?^^ si oui pourrais m'envoyer le lien par MP? merci d'avance)


RE: [map] Champs de vision - nemesis_elite - 09-07-2007

Merci pour le lien, je vais l'étudier.
Sinon pour répondre a ta question, je te donne ce lien :
http://www.jeuweb.org/board/showthread.php?tid=1640
Si tu lit un peu le sujet, tu verra que je l'ai fait en modifiant le script de barst.
Tu peux même télécharger mon script sur une de page du sujet (http://www.jeuweb.org/board/showthread.php?tid=1640&page=3)

Merci pour ta réponse, si quelqu'un d'autre pouvait m'expliquer, car le code est bien beau mais je vois pas comment mon problème est géré.

Merci d'avance


RE: [map] Champs de vision - Obscurantis - 09-07-2007

Bonjour,

Je ne sais pas trop à quoi mène le script donné, mais à la première lecture je ne vois pas où le champ de vision est gérer comme il est demandé ici.

De mon côté je pense qu'il serait préférable en générant la case de vérifier sa distance du personnage au centre. Si elle s'avère plus importante que le champ de vision on met l'image par défaut, sinon on affiche soit le terrain, soit le personnage, etc...

Le calcul de la distance (au cas où) :

Code PHP :
<?php 
$x_perso
= ... ; // coordonnées x du personnage.
$y_perso = ... ; // coordonnées y du personnage.

$vision = ... ; // distance des cases réellement visibles par le personnage.

$taille_carte = ... ; // taille de la carte affichée.

$x_min = $x_perso + $vision ; // première case à afficher en x.
$y_min = $y_perso + $vision ; // première case à afficher en y.
$x_max = $x_min + $taille_carte ; // dernière case à afficher en x.
$y_max = $y_min + $taille_carte ; // dernière case à afficher en y.

for ($x = $x_min; $x < $x_max; $x++)
{
for (
$y = $y_min; $y < $ymax; $y++)
{
$distance = sqrt(pow($x - $x_perso,2) + pow($y - $y_perso,2));

if (
$distance <= $vision)
{
// on peut voir ......
}
else
{
// on est aveugle à une telle distance ......
}
}
}

C'est un code simplifier (ne gèere pas les bords, se reporter au tutos pour connaître la méthode) qui permet de déterminer si on peut voir une case ou non. Cependant $x_min, $x_max, $y_min et $y_max restent à paramétrer comme dans le tutorial ou à la guise de l'utilisateur du code.


RE: [map] Champs de vision - nemesis_elite - 09-07-2007

Merci de répondre si rapidement Smile

Je vais tester...

[EDIT] Bon, ça marche très très bien Smile je te remercie Smile
Mon "problème" est réglé Smile