2010-11-16 28 views
2

J'ai donc ce tableau, pour jouer à un jeu de plateau ... Le problème est, comment puis-je savoir dans quel carré l'utilisateur a cliqué? Je connais les coordonnées x et y, mais comment l'automatiser, sans avoir besoin de traquer les emplacements spécifiques de chaque carré. (La taille de la planche est également variable ... donc elle peut avoir beaucoup de carrés, ou très peu, mais la planche a toujours la même hauteur et la même largeur, c'est-à-dire le même nombre de carrés allant de gauche à droite nombre de cases allant de haut en bas).Comment voulez-vous résoudre cette nécessité opengl (en c) impliquant de savoir dans quel carré d'un jeu de plateau l'utilisateur a cliqué?

Merci beaucoup :) débordement de pile

+0

Est-ce en 3D alors? – McKay

Répondre

1

Il y a beaucoup d'options offertes à: http://www.opengl.org/resources/faq/technical/selection.htm

+0

Pourriez-vous me donner un exemple? – dasen

+0

http://www.opengl.org/resources/code/samples/redbook/ a des exemples de sélection – tkerwin

+0

Cette fonctionnalité est obsolète depuis très longtemps et ne peut pas être prise en charge au niveau matériel par les GPU d'aujourd'hui; Je recommande sincèrement d'oublier cela. – Kos

0

Le problème que vous parlez est appelé « picking » et il existe plusieurs solutions pour cela:

    picking à base de requêtes d'occlusion
  • (tout à fait moderne, mais je l'ai pas encore essayé - il y a une diatribe sur ce sujet here),
  • cueillette géométrique (mathématiques, et indépendant de OpenGL),
  • sélection basée sur la couleur (un peu vieux et hackish, mais très simple à mettre en œuvre).

je l'ai déjà décrit la dernière approche ici:
OpenGL GL_SELECT or manual collision detection?