0
自分のキャラクターが私自身のSDL2ベースのフレームワークのプラットフォームに着陸しようとしています。現在のところ、私は複数のプラットフォームを持っている場合、私は1つを生成する場合、デフォルトであるために動作していません。キャラクターは最後に追加されたプラットフォームにのみ留まります。残りは徐々に落ち、grounded
ブール値はtrue
からfalse
に切り替わります。この機能は、すべてのdeltatime更新どのように私はブール値が真のままであることを確認して衝突をチェックするのですか?
void NHTVScene::EntitiesGrounded()
{
std::vector<Entity*>::iterator it = platformVector.begin();
while (it != platformVector.end()) {
if (player->isColliding((*it))) {
player->velocity = Vector2(0, 0);
player->grounded = true;
}
else if (!player->isColliding((*it))) {
player->grounded = false;
}
it++;
}
}
と呼ばれる:
は、ここに私のコードです。
このコードは、ブール値がtrueに設定されているのと衝突していないすべてのプラットフォームで、最新のエントリでは実行しないという奇妙なものだと思います。これを正しく行う方法を手がかりにしてください。
私はこれが私の問題を洞察するのに十分な情報であることを望みます。そうでない場合は、私に知らせてください、私はより多くを供給します。
文字が実際に接地されていることがわかると、おそらくループから外れてしまいます。 –
が働いた。どうもありがとう。私は長い間、これで苦労していた。私が長い間それを注視してきたものの1つ –