2017-08-04 36 views
0

我想弄清楚如何在UrhoSharp中繪製形狀,而且我沒有得到它的任何地方。我認爲這將是非常簡單的。搜索互聯網並沒有給我太多的繼續。UrhoSharp - 如何畫出給定點的線?

我想要做的就是給點,讓我可以在點之間畫線。二維線。所以我可以畫一個矩形或三角形的形狀。我看過SkiaSharp,繪製圖形很簡單,但由於某種原因,這個概念對UrhoSharp來說似乎是陌生的,至少從我看過的內容來看。

我發現了幾個代碼片段,其中有人在問問題,但我不知道除了它們顯示的位之外還會發生什麼。如果有人能指出我的參考清楚地解釋瞭如何做到這一點,或者讓我看看這裏,我會非常感激。

+0

你看過'CustomGeometry'嗎?如果沒有,我可以發表一個例子 –

+0

這是我見過的唯一的事情。但是,沒有足夠的信息讓我工作。如果你能舉出一個例子,那會很棒。 – Jimmy

+0

當然可以!我現在會發佈一個 –

回答

0

這裏就是你們的榜樣:

CustomGeometry geom = node.CreateComponent<CustomGeometry>(); 
geom.BeginGeometry(0, PrimitiveType.LineList); 
var material = new Material(); 
material.SetTechnique(0, CoreAssets.Techniques.NoTextureUnlitVCol, 1, 1); 
geom.SetMaterial(material); 

float size = 1; 

//x 
geom.DefineVertex(Vector3.Zero); 
geom.DefineColor(Color.Red); 
geom.DefineVertex(Vector3.UnitX * size); 
geom.DefineColor(Color.Red); 
//y 
geom.DefineVertex(Vector3.Zero); 
geom.DefineColor(Color.Green); 
geom.DefineVertex(Vector3.UnitY * size); 
geom.DefineColor(Color.Green); 
//z 
geom.DefineVertex(Vector3.Zero); 
geom.DefineColor(Color.Blue); 
geom.DefineVertex(Vector3.UnitZ * size); 
geom.DefineColor(Color.Blue); 

geom.Commit(); 

參考here任何未來的實例。

+0

因此,也許我的一部分困惑是缺乏對這種基本工作方式的理解。其他東西的例子使用UIElement,就像一切都被添加到的佈局。所以,我不清楚這個新的CustomGeometry對象是如何放置在屏幕上的。我會環顧那個論壇。感謝您的例子和鏈接。 – Jimmy

+0

歡迎您!當你找到答案時不要忘了選擇答案,以便能夠得出結論 –

+0

我環顧四周,我會繼續尋找,但我沒有看到任何地方,如何真正把這個CustomGeometry放在屏幕上。我需要添加什麼才能讓它顯示出來? – Jimmy