cocos2d中,layer的主要任务就是接受用户的触摸,在看本文之前,读者最好了解ios与用户交互的方式,最好也知道cocos2d中
是怎么相应用户的触摸到各个layer的。
首先我们继承自标准CCSprite,并且遵循CCTargetedTouchDeleget或者CCStandadTouchDeleget
这样我们自己的CCSprite就可以接受触摸了。
rect这个函数,是我们讲sprite自己的坐标映射到自己的坐标系中,
containsTouchLocation:这个函数就看看我们的触摸点是否在sprite中。
CGPoint pooint = [self convertTouchToNodeSpaceAR:touch];
这个就是将相对于layer的touch转化为sprite,然后得出相对与sprite本身的坐标。
这样我就能根据触摸sprite的不同位置,对sprite进行不同的控制。
OnEnter是继承自CCSprite的函数,主要作用是把自己注册到相应链中去,
这样精灵级别就可以接受触摸了。
相反,OnExit是注销的意思。