トップページ > 過去ログ > 記事閲覧
HitCheck_Triangle_Triangleについて
名前:ろぜ 日時: 2012/12/22 21:12

ゲームを作成しており、判定をつけようとしたところ・・     int Result; HITRESULT_LINE Result2 ; VECTOR a,b,c,d,e,f; a=VGet( 250 , 200, 0); b=VGet( 300 , 200, 0 ); c=VGet( 200 , 400, 200 ); d=VGet( 200 , 200, 200); e=VGet( 300 , 200, 200 ); f=VGet( 200 , 400, 0 ); SetUseZBuffer3D(TRUE ) ; SetWriteZBuffer3D( TRUE ) ; DrawTriangle3D(a,b,c, GetColor( 0,255,255 ),TRUE ) ; DrawTriangle3D(d,e,f, GetColor( 0,0,255 ),TRUE ) ; Result2 = HitCheck_Line_Triangle( a,c,d,e,f ); Result = HitCheck_Triangle_Triangle( a,b,c,d,e,f ); DrawFormatString( 0 , 220 , GetColor( 255 , 255 , 255 ),"直線三角判定状態%d",Result2); DrawFormatString( 0 , 200 , GetColor( 255 , 255 , 255 ),"三角三角判定状態%d",Result); ※修正 表記ミス 〜"直線三角判定状態%d",Result2.HitFlag); (ちょうど水色と青でクロスする形です) このような感じで簡単なテストプログラムをつくりました。 すると、見た目では間違いなく当たっていて、Lineでも判定ありとなっているのに、Triangleのほうは接触していません。 三角の形をかえたり、座標指定の順番をかえたりしてみたんですが・・ どこか間違っているのでしょうか?

Page: 1 |

Re: HitCheck_Triangle_Triangleについて ( No.1 )
名前:管理人 日時:2012/12/31 02:17

ご指摘ありがとうございます 単純な変数名の記述ミスが原因で判定が正しく行われていませんでした 修正版をアップしましたので、よろしければお試しになってみてください m(_ _;m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_DevCppTest.exe // Dev-C++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibDotNet.zip // .NET用 http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
Re: HitCheck_Triangle_Triangleについて ( No.2 )
名前:ろぜ(解決) 日時:2013/01/04 19:23

実行してみたところ、正しく判定されていました。 とても助かります。 修正ありがとうございました。

Page: 1 |