连接两个TShape对象

时间:2014-05-29 23:50:24

标签: drag-and-drop lazarus

我试图在拉撒路做一个简单的游戏,但我坚持一件我不想过度复杂的事情。我在屏幕上有一些圆圈(非常小的,直径10像素),我想在两个选中之间画线。所以我想我会制作隐形的打击盒。我注意两个hitboxes不相交。

我想做简单的拖放操作。如果我拖动圆圈或它的hitbox并将其放在另一个圆圈或它的hitbox我想在这两个圆圈之间画一条线。我的问题是:是否有一种优雅的方式来了解哪个圈子属于一个命中箱?或者也许是其他一些很好的解决方案?

1 个答案:

答案 0 :(得分:0)

我不确定您的设置究竟如何,所以答案非常通用。

您可以从以下内容开始:

  1. 具有检测光标下方哪个圆圈的功能 - CircleHitTest(X,Y: Integer): Integer;。如果在给定的XY处没有圆圈 - 返回-1。
  2. MouseDown检测到光标位于哪个圈子后,将其存储在变量DrawFrom中。
  3. MouseUp检测到光标下的哪个圈并将其存储在变量DrawTo
  4. 如果DrawFromDrawTo是两个不同且有效的圈子,请在它们之间画一条线。