python - How to use cocos2d's collision_model -
recently, used cocos2d
python
make game. had trouble collision_model
. read documentation still can't use collisionmanager
add collidablesprite
in example.
in fact, had change actorsprite
collidablesprite
avoid error. problem be?
import cocos.euclid eu import cocos.collision_model 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)
the documentation showed example initialising collidable sprite. actorsprite
come from? have change collidablesprite
make class work. , state collision manager add sprites. returns none
when call function 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()
so, there wrong documentation? or have misunderstood somehow?
it looks example should indeed initialize collidablesprite
instead of actorsprite
.
collisionmanager
class interface. doesn't anything. there 2 implementations in collision_model: collisionmanagerbruteforce
, collisionmanagergrid
. can use example:
self.collision_manager = collisionmanagerbruteforce()
but note collisionmanagergrid
is more efficient.
Comments
Post a Comment