Пример #1
0
bool TouchControllerEvent::sendTouchMessage(Touch* ccTouch, int type) {
	// 编写判断,集合中的哪个元素级别高,就触发哪一个
	TouchController* touchController = NULL;
	// 获得点击的点
	CCObject* pObj = NULL;
	TouchController* lt = NULL;
	CCARRAY_FOREACH(m_pTouchControlleres, pObj) {
		lt = dynamic_cast<TouchController*>(pObj);
		if (lt) {
			if (lt->selfCheck(ccTouch, this)) {
				if (touchController == NULL)
					touchController = lt;
				else
					// 如果已存在符合条件元素,比较优先级
					touchController = getPriorityTouch(touchController, lt);
			}
		}
	}
bool LsTouchEvent::sendTouchMessage(CCTouch* ccTouch, int type)
{
    LsTouch* lsTouch = NULL;

    CCObject* pObj = NULL;
    LsTouch* lt = NULL;
    CCARRAY_FOREACH(m_pLsTouches, pObj)
    {
        lt = dynamic_cast<LsTouch*>(pObj);
        if (lt)
        {
            if (lt->selfCheck(ccTouch, this))
            {
                if (lsTouch == NULL)
                {
                    lsTouch = lt;
                }
                else
                {
                    lsTouch = getPriorityTouch(lsTouch, lt);
                }
            }
        }
    }