バグではありません。何が起こるかというと、呼び出し時に作成して実行するアクションは
someItem:runAction(CCCallFunc:create(someCallback))
someItem のアクション マネージャに追加されます。これは、ノードで実行されるすべてのアクションで発生します。デフォルトでは、新しいノードのアクション マネージャはディレクタから取得されるため、デフォルトではすべてのノードが同じアクション マネージャを共有します。runAction の呼び出し中は、これ以上のことは起こりません。これらのアクションは、後でアクション マネージャーが更新されると更新されます。ディレクターのアクション マネージャーは、フレームごとに 1 回更新されるように設定されています。「someCallback」出力を取得するのはこの更新中です。これが、出力が cclog(""..i) の出力の後に来る理由です。
CCCallFunc アクションは、実行直後に削除されます。CCMoveTo などのその他のアクションは、アクション マネージャーに長期間保持されます。アクション マネージャーを更新するたびに、アクション自体が更新され、削除する必要があるかどうかがチェックされます。CCCallFunc が行うことは、更新時にコールバックを呼び出し、アクション マネージャーが要求したときに終了したことを伝えることです。したがって、コールバックはアクションごとに 1 回だけ呼び出され、その後アクションは削除されます。
お役に立てれば。:)