スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Chipmunkのbodyから関連付けられているshapeを削除

開発メモ。

shapeからbodyは参照可能だけど、bodyからshapeの参照が出来ない気がしてます。

情報が少ないのでみんなどうやってるのかなと疑問ですのでエントリーを投下。

ちなみにcocos2dのサンプルでは、shapeが衝突した際にshapeを削除リストに追加し、メインループで削除リストに入っているshapeをspaceから削除してました。

もちろんこれでも良いのですが、ポリゴンの場合にちょっと面倒です。衝突したshapeの仲間(同じbody)の奴は一度に削除したいです。
というわけで、まずは自分がやっている方法。


- (void)removeBodyShape:(cpSpace*)space body:(cpBody*)body
{
 cpShape *shape = body->shapeList_private;
 while(shape){
  cpShape *next = shape->next_private;
  cpSpaceRemoveShape(space, shape);
  shape = next;
 }
}

という感じ。privateなので、本当はアクセスして欲しくないのだと思います。

上記のようにObjectiveCで書いてて、CocosBuilderで書いてるjs側から呼べるようにして使ってます。

今のところエラーは出てないしメモリ的に心配ではあるけどどうなんだろう。

誰か良い方法を知っていたら教えて下さい。
関連記事

コメントの投稿

非公開コメント

プロフィール

エロぺんぎん

管理人:エロぺんぎん
不純な動機でプログラマーになった男、エロぺんぎんです。ブラザー達を猛烈に応援したい気持ちと、自分もプログラマーとして成長したい思いで、当ブログを立ち上げました。
エロぺん動画を運営しております。

検索フォーム
Twitter
最新記事
最新コメント
カテゴリ
リンク
RSSリンク
エロぺん動画で人気の動画
人気の記事