CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[ActionS/theorie] Coord de tiles isos..

fil_razorback
fil_razorback
Niveau 10
24 avril 2005 à 17:09:57

Hello, pour ce topic je code en actionscript mais c´est la theorie qui me fait défaut, donc toute personne intelligente est la bienvenue !

J´ai une Tile Based Map isométrique;
Mon but est de récupérer les coordonnées ( en tiles) du tile survolé par la souris.
Sachant que:
-La map dans son ensemble est déplacée lorsque le curseur est au bord de l´ecran, je peux connaitre cette position facilement.
-Je connais la hauteur et la largeur d´un tile
-Je peux avoir les coordonnées de la souris à l´écran facilement.
-J´y ai réfléchi une heure...en vain :(

Merci d´avance d´aider une andouille désorientée :)

tomtomclancy
tomtomclancy
Niveau 9
24 avril 2005 à 17:29:22

mais de rien :ok:

tomtomclancy
tomtomclancy
Niveau 9
24 avril 2005 à 17:32:41

:rire: je vais quand meme repondre a ta question

pour avoir le tile tu fais
Mouse._x / larageurTile + - nombre de tile dehors

et idem pour Mouse._y

fil_razorback
fil_razorback
Niveau 10
24 avril 2005 à 17:38:26

Euh je suis pas completement con quand meme; mais c´est pas pour une map 2D; moi je suis en 3d isometrique :)

fil_razorback
fil_razorback
Niveau 10
24 avril 2005 à 17:38:56

oups
" ca c´est pas pour une map 2D"
:d) il fallait lire " ca c´est pour une map 2D"

tomtomclancy
tomtomclancy
Niveau 9
24 avril 2005 à 17:43:51

vu qu´a premiere vu j´ai le temps avant que tu lises ta reponse ja vais etre encore plus precis.

pour recuperer le tile sur lequel le pointeur de ta souris est:

_tempMouseX = Mouse._x + deplacement de la map en X
_tempMouseY = Mouse._y + deplacement de la map en Y
posx = Math.floor(_tempMouseX/laregeurTile);
posy = Math.floor(_tempMouseY/hauteurTile);

et dan posx, posy tu dois avoir les coordonnée de ton tableau, pour le tile

tomtomclancy
tomtomclancy
Niveau 9
24 avril 2005 à 17:45:52

et apres :question:

la 3D isometrique c´est de la 2D, mais avec une impression de 3D.

mais je pense pas que tu es fais une impression de distance.
toute tes tiles visiblent ont la meme taille quelle se trouve en bas ou en haut

fil_razorback
fil_razorback
Niveau 10
24 avril 2005 à 17:46:59

Bien sur, mais ils ne sont pas disposés à l´ecran comme une map 2D classique; du coup ca correspond pas à ton code :(

tomtomclancy
tomtomclancy
Niveau 9
24 avril 2005 à 17:48:57

si le code est bon, c´est juste une petite verification a faire qu´il te manque

c´est a cause de ca
/ \
\/

fil_razorback
fil_razorback
Niveau 10
24 avril 2005 à 17:51:39

Je vais tester mais pour le moment je suis dubitatif

Vengeur41
Vengeur41
Niveau 10
24 avril 2005 à 17:52:09

C´est bien compliqué ce que tu nous demande.
Pour une map 2D ( mais je pense que c´est adaptable a une map ISO) j´avais pensé à ca ( c´est du C, je connais pas flash) pour voir à quelles coordonnées en tiles on etait a partir des coordonnes en pixels :

int i,j, xmousepix, xmousetiles, ymousepix, ymousetiles;
for ( i=0;i<mapw;i++)
{
for ( j=0;j<maph;j++)
{
if ( (xmousepix>=i && xmousepix<=i*tilew) && ( ymouse>=j && ymouse<=j*tileh))
{
xmousetiles=i;
ymousetiles=j;
}
}
}

Explications : euh... Est-ce necessaire ? Bon là c´est pour du carré or tu cherche du losange... mais je pense que tu n´as qu´à adapter...

P.S. : tilew = largeur d´un tile et tileh = hauteur d´un tile...

tomtomclancy
tomtomclancy
Niveau 9
24 avril 2005 à 17:56:21

oua, c´a c´est de l´algo qui va faire tout ramer.

tu parcourt ton tableau en entier a chaque fois.

sinon je suis en train de regarder pour ta map iso, effectivement le code est different mais pas tant que ca.

jte reponds plus tard

tomtomclancy
tomtomclancy
Niveau 9
24 avril 2005 à 18:00:54

heu je suis en train de reflechier tu peux pas associer une fonction a chaque tile onRollOver
:question:

fil_razorback
fil_razorback
Niveau 10
24 avril 2005 à 18:01:25

Merci Vengeur, mais pour une map 2D je sais faire....le probleme est de m´adapter au losange justement :(

TomTom :d) j´avais raison ( pour une fois :-p ) , ca me sort des coordonnées fantaisistes

fil_razorback
fil_razorback
Niveau 10
24 avril 2005 à 18:02:01

" heu je suis en train de reflechier tu peux pas associer une fonction a chaque tile onRollOver
"

C´est pas propre ca non?

tomtomclancy
tomtomclancy
Niveau 9
24 avril 2005 à 18:05:26

si au contraire, a condition de savoir leur associer une fonction sans faire 10000 ligne de code

fil_razorback
fil_razorback
Niveau 10
24 avril 2005 à 18:07:21

Ben vi je sais leur associer cette fonction sans probleme dans ma fonction de construction de map; ca se fait en une ligne après tout :)
Je vais faire comme ca alors :)

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment