2011-04-14 64 views
0

问候!选择底层物体

我制作了一个让你绘制形状的程序。所有形状都包含在一个向量中。我需要帮助的是当几个形状堆叠在一起时,如果用户反复点击,我想从上至下循环。我沿线的思考的东西:

  1. 存储鼠标位置下的每一个对象,其中用户在某种容器
  2. 的点击跟踪哪些对象是第一队列,而应该是最后的( ?)接下来点击
  3. 重复第二步,直到用户点击的地方,结果在不同的队列

这更多的是一种通用的编程问题,而不仅仅是C++,但任何帮助将不胜感激后,如果这个答案也提供了一个漂亮的解决方案在C++中,一切都好!

回答

0

一个流行的方法是为每个项目分配一个z顺序。具有较高Z顺序的项目如果重叠则隐藏较低Z顺序的项目。在你的情况下,你只需要找到光标下的所有项目,并在用户点击时旋转它们的z顺序。