円の衝突判定について

実現したいこと

ここに実現したいことを箇条書きで書いてください。

前提

ここに質問の内容を詳しく書いてください。
c言語で、二つの円を画面上に表示する。DrawEllipse(400, 400, 100, 100, 0.0f, WHITE, kFillModeSolid);
DrawEllipse(posX, posY, 50, 50, 0.0f, curColor, kFillModeSolid);
小さい円を矢印キーで動かし、大きい円に触れたとき小さい円の色が青色にかわるようにしたい。
実行するとエラーが出てしまいます。その解決方法が分かりません。
if (keys[DIK_UP]){posY = posY - 1;}
if (keys[DIK_LEFT]){posX = posX - 1;}
if (keys[DIK_RIGHT]){posX = posX + 1;}
if (keys[DIK_DOWN]) {posY = posY + 1;}
float a = posX - 400;float b = posY - 400;float distance = sqrtf(a * a + b * b);
if (distance <= 100 + 50) {curColor = BLUE;}
else {curColor = RED;}
if (posX + 50 < 400 || 500 < posX) {curColor = RED;}
else if (posY + 50 < 400 || 500 < posY) {curColor = RED;}
else {curColor = BLUE;}

発生している問題・エラーメッセージ

エラーメッセージ ```初期化中 intからfloatへの変換です。データが失われる可能性があります。 エラーが発生した後プログラム全体のIntをfloatに変えてみましたが上手くいきませんでした。 調査したこと エラー内容について調べましたが、型の変更?とか難しいことが書いてあってわからなかったです。 ### 補足情報(FW/ツールのバージョンなど) Microsoftvisualstudio ここにより詳細な情報を記載してください。

コメントを投稿

0 コメント