最近,我用cocos2d
withPython
来做一个游戏。但我遇到了麻烦collision_model
。我阅读了文档,但我仍然无法在示例CollisionManager
中使用添加CollidableSprite
as 。
事实上,我不得不改变ActorSprite
以CollidableSprite
避免错误。问题可能是什么?
import cocos.euclid as eu
import cocos.collision_model as cm
class CollidableSprite(cocos.sprite.Sprite):
def __init__(self, image, center_x, center_y, radius):
super(ActorSprite, self).__init__(image)
self.position = (center_x, center_y)
self.cshape = cm.CircleShape(eu.Vector2(center_x, center_y), radius)
class ActorModel(object):
def __init__(self, cx, cy, radius):
self.cshape = cm.CircleShape(eu.Vector2(center_x, center_y), radius)
文档显示了这个示例初始化可碰撞精灵。但是ActorSprite
从哪里来?我必须改变它以CollidableSprite
使课堂正常工作。我声明了一个碰撞管理器来添加精灵。但是None
当我调用该函数时它会返回CollisionManeger.known_objs()
。
def __init__(self):
super(page,self).__init__()
self.collision_manager = CollisionManager()
self.collision_manager.add(self.sprite1)
self.collision_manager.add(self.sprite2)
print self.collision_manager.known_objs()
那么,文档有问题吗?还是我以某种方式误解了它?