情境:我正在用C++/OpenGL制作一个简单的太阳系模拟。
调研:我已经尝试过搜索,但我只能找到有关小部件、Flash和HCI等内容的文章。
问题:我希望用户能够单击一个角色,然后可能取消选择或选择其他内容。也许同时选择多个角色。如果该角色被销毁,我希望选择会消失。我希望演员知道它已被选中。
我知道如何获取鼠标坐标,并知道如何查看是否在这个角色或那个角色上发生了单击,或者最接近的角色。我没有任何经验来建立这种交互。我可以考虑类似于CSS的活动、悬停和按下的模型,所以应该有某种状态吧。但是然后我遇到了所有权的问题,如果那个演员被删除或需要删除怎么办?应该有某种观察者吗?
显然,我不理解问题足够为了解决我的目的。我没有回调或事件的任何经验。有人能指点一些文章、指南或类似的帮助吗?