这个在游戏里常见的就是技能图标的拖动和自动放入技能栏拉。
大概思路是这样,首先为被拖动的ICON添加触摸,然后 在拖动的过程中判断ICON和BOX的boundingBox,如果发生了碰撞,就会将该ICON放入到BOX中,并中断下面的逻辑,如果没有,就将图标位置,进行还原。
void dragPs::ontTouchEnded(Touch* touch, Event* event)
{
Point touchPoint = touch->getLocation();
MoveTo *move = NULL;
Object *obj = NULL;
for (size_t i = 0; i < m_box.size(); i++)
{
Sprite *box = (Sprite*)m_box.at(i);
if (box->boundingBox().containsPoint(m_sp->getPosition()))
{
move = MoveTo::create(0.5f, box->getPosition());
break;
}
else
{
move = MoveTo::create(0.5f, m_basePoint);
}
}
m_sp->runAction(move);
}