簡體   English   中英

在XNA中繪制2D曲線

[英]Draw 2D Curve in XNA

有沒有辦法生成一個Curve類,然后在XNA的屏幕上繪制2D曲線?

我想基本上使用曲線隨機生成一些地形,然后繪制它。 希望我可以使用該曲線來檢測與地面的碰撞。

聽起來你想要的是高度圖的2D等價物。 我會避免制作一個真正的“曲線”並簡單地用線段近似。

所以基本上你會有一個數組或數字列表,它們代表一系列均勻間隔(水平)點的地形高度。 當您需要兩點之間的高度時,您只需在兩者之間進行線性插值。

要生成它 - 您可以隨機設置幾個點,然后進行某種形式的平滑插值來設置其余部分。 (這實際上取決於你想要的曲線類型。)

要渲染它,您可以使用三角形條。 高度貼圖中的每個點都有兩個與之關聯的頂點 - 一個位於屏幕底部,另一個位於高度貼圖中該點的高度。

要進行碰撞檢測 - 最簡單的方法是讓你的物體成為一個點(聽起來就像你正在制作像火星地球一樣的火炮游戲) - 只需取你物體的X位置,得到地形的Y位置X位置,如果物體的Y位置在地形下方,則將其設置為使其位於地形表面上。

無論如何,這是粗略的指南:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM