ゲームでいくつかの問題に直面しています。実際、楕円と楕円の衝突を検出する必要がありました。アイデアやコードに役立つ他のコードを理解できないため、vb.net言語のコードを使用します。
質問する
391 次
1 に答える
0
Region
オブジェクトとRegion.Intersect
メソッドとの衝突を簡単に確認できます。
Dim gp1 As New Drawing2D.GraphicsPath()
gp1.AddEllipse(rect1)
Dim gp2 As New Drawing2D.GraphicsPath()
gp2.AddEllipse(rect2)
Dim reg1 As New Region(gp1)
Dim reg2 As New Region(gp2)
reg1.Intersect(reg2)
If reg1.GetRegionScans(New Drawing2D.Matrix(1, 1, 0, 1, 1, 0)).Length > 0 Then
MessageBox.Show("Collision!")
End If
この例rect1
でrect2
はRectangle
、長方形で楕円を描くときのように、楕円を定義(含む)します。
Dim rect1 As New Rectangle(5, 5, 150, 100)
Me.CreateGraphics.DrawEllipse(Pens.Blue, rect1)
編集:
パフォーマンスとオプションについては、ゲームエンジンを使用することをお勧めします。このリンクを確認してください:
于 2013-03-27T08:51:02.567 に答える