[英]libGDX connect two actors with line
我必須創建2張圖像並將其與線連接。 當我移動一個演員時,顯然正確的行尾必須讓我的演員休憩。 我知道,我可以每次使用ShapeRenderer
並重新繪制該行,但這是最好的主意嗎?
ShapeRenderer sr = new ShapeRenderer();
sr.setColor(Color.RED);
sr.setProjectionMatrix(viewport.getCamera().combined);
sr.begin(ShapeRenderer.ShapeType.Filled);
sr.rectLine(vertex1.getCenterX(), vertex1.getCenterY(),
vertex2.getCenterX(), vertex2.getCenterY(), 10);
sr.end();
我已經創建了兩個演員並管理拖動事件。 現在我要畫那條線。 看起來應該像這樣
如果整形器適合您的風格,我不明白為什么這不是一個好主意?
如果在角色后面繪制線,則只需從角色1的中心繪制到2。否則,您必須計算從哪里開始。 像這樣的偽代碼:
//Subtract vectors and normalize to get direction
direction = origin1.sub(origin2);
direction.nor();
//Add the radius in the correct direction from the origin.
startPoint = origin2.add(direction * actorRadius);
endPoint = origin1.add(direction.rotate(180) * actorRadius);
小心使用這樣的向量。 如果不使用vector.cpy()
則如上所述的鏈接將更改原始矢量。 因此,如果您仍然需要原始原點,則必須做direction = origin1.cpy().sub(origin2);
現在direction擁有矢量的副本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.