私がやろうとしていることを明確に説明できるかどうか見てみましょう...私はそれを核心の問題に絞り込みます。
私は客観的な c プログラムと ac コールバック関数を持っています。コンテキストは、iPhone SDK で cocos2d とシマリスの物理学を使用していることです。私がやろうとしているのは、弾丸とモンスターの衝突時に「スコア」を更新することです。スコアの更新を除いて、すべて正常に動作します。
ゲーム ロジックは obj-c にありますが、実際の衝突ロジックは、衝突時に呼び出される ac 関数で行われます。たとえば、衝突の炎/爆発をレンダリングするのはそこです。スコアを更新したいのもそこです。
ここに問題があります。しかし、score は「GAME」オブジェクトのインスタンス変数であり、そのインスタンス変数への可視性がありません。&addscore などと呼ばれる参照によって c 関数に別のパラメーターを渡すことができると思いますが、「スコア」以外にも更新する必要がある他の変数がたくさんある可能性があるため、より明白な方法があるかどうか疑問に思っていました。衝突。
つまり、オブジェクト内の変数が c 関数から見えるようにする必要があり、逆もまた同様です。関数内に設定された変数がオブジェクト内で見えるようにする必要があります。
前もって感謝します。