cocos2d-x单点触摸的问题。

listener1->onTouchBegan =这个东西,我发现每次有触摸事件,他都会创建6个线程来处理。因为我用log输出东西发现它输出6次。这是为啥?我弄了个判断,触摸点在图片内播放一个音效,在图片外播放另一个音效,结果可能是多线程的原因。判断完全乱了,音效胡乱播放。代码如下
listener1->onTouchBegan = (Touch* touch, Event* event){
class Mysp *sp;
sp = this->headsp;
while (sp->nextsp!=NULL)
{
sp = sp->nextsp;

        if ((sp->sp->getBoundingBox().containsPoint(touch->getLocation()))&&(this->kit==0))
        {

// SimpleAudioEngine::sharedEngine()->playBackgroundMusic(“mousecry.mp3”,false);//播放音效
this->num++;
SimpleAudioEngine::sharedEngine()->playEffect(“mousecry.mp3”);
score();
this->kit = 1;//不可击中
return true;
}
else
{
log(“111”);
SimpleAudioEngine::sharedEngine()->playEffect(“kh.mp3”);
}
}

    return true;
};