question de conception 2D mondiale
-
22-09-2019 - |
Question
Je suis face à un problème qui est probablement très répandue dans le jeu-design.
- Supposons que nous avons un monde 2D
- taille est M x N au monde rect
- Le monde peut contenir certains des éléments qu'il
- Les éléments sont (x, y) coords
- Le monde peut être parcouru par l'intermédiaire d'une fenêtre qui est physiquement (m x n) large.
- La fenêtre du navigateur peut être zoomée in / out
- La fenêtre du navigateur peut être éreinté haut / bas + droite à gauche, tandis que dans l'étendue de la rect du monde.
Comment dois-je aller sur la mise en œuvre cela? Je suis particulièrement préoccupé par la fenêtre du navigateur. Quelqu'un peut-il recommander un bon lit?
Ce n'est pas un devoir - il est plus d'une tâche que je me suis mis à compléter
.Autres conseils
Mettre en œuvre comme vous souhaitez mettre en œuvre Google Maps avec des marqueurs spéciaux.
Fondamentalement vous mappage d'un sous-ensemble rectangulaire d'une zone à l'autre rectangle, ie. la fenêtre du navigateur. Il s'agit essentiellement à seulement 2 opérations - une de la traduction, pour positionner la zone considérée dans le monde, et l'une des mise à l'échelle, de prendre cette zone visible arbitraire et l'échelle à la fenêtre. Distinct qui est la question de zoom avant et arrière, qui est essentiellement la modification de la taille de la zone considérée.
Dans le développement de jeu, il y a plusieurs façons d'aborder ce sujet. En général, vous souhaitez personnaliser une projection en vue de montrer autant du monde que vous avez besoin (ie. Transformer de coordonnées-monde à des coordonnées de visualisation, généralement une projection orthographiques) et traduire tout simplement le monde ou en vue de placer la fenêtre telle qu'elle est pointant vers ce que vous voulez voir. À condition que vous avez défini correctement le matériel 3D les positions de vos objets se dessiner ce que vous attendez.
Vous pourriez être en mesure de sortir avec DHTML, mais flash ou silverlight serait beaucoup plus facile à mettre en œuvre quelque chose comme ça.
Jetez un oeil sur le code derrière google maps pour un peu d'inspiration. Ils font somthing semblable à ce que vous voulez en html pur.