初めまして。
HitCheck_Triangle_Triangleという関数を見つけ
この関数を使う際にVECTORのz値を0にすれば2Dゲームに利用できると考え、下の様なプログラムを実行したのですが
衝突していないという判定になってしまいました。
これは3D関数の仕様ですか?
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
ChangeWindowMode(TRUE);
SetDrawScreen(DX_SCREEN_BACK); //裏画面設定
if (DxLib_Init() == -1) { //DXライブラリの初期化
return -1;
}
//画面更新 & メッセージ処理 & 画面消去 & 簡易画面出力履歴クリア
while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0 && clsDx() == 0) {
VECTOR a, b, c, d, e, f;
a = VGet(50, 200, 0);
b = VGet(400, 200, 0);
c = VGet(400, 400, 0);
d = VGet(200, 100, 0);
e = VGet(300, 100, 0);
f = VGet(200, 400, 0);
DrawTriangle(a.x, a.y, b.x, b.y, c.x, c.y, GetColor(255, 0, 0), FALSE);
DrawTriangle(d.x, d.y, e.x, e.y, f.x, f.y, GetColor(0, 0, 255), FALSE);
int r = HitCheck_Triangle_Triangle(a, b, c, d, e, f);
printfDx("%d\n", r);
}
DxLib_End(); // DXライブラリ終了処理
return 0;
}