我用鼠标拖动它在窗口上移动一个圆圈。我应该永远把它放在窗户里面。
因此,默认情况下,当您以鼠标退出框架的方式拖动圆圈时,圆圈的一半将消失(因为它退出框架),其中一半不会消失。我需要让它始终显示整个 ,即使光标退出框架也是如此。这是代码:
if(draggingcircle)
{
g.drawString("Dragging circle = " + draggingcircle, 50, 110);
circle.setCenterX( gc.getInput().getMouseX() );
circle.setCenterY( gc.getInput().getMouseY() );
}
答案 0 :(得分:0)
无论包含哪个圆圈,让我们调用id,如果你知道半径或直径(我忘了哪个),你可以用简单的数学把它保存在容器中
所以
if(draggingcircle)
{
g.drawString("Dragging circle = " + draggingcircle, 50, 110);
circle.setCenterX( gc.getInput().getMouseX() );
circle.setCenterY( gc.getInput().getMouseY() );
}
变为
var width = $('#container').width();
var height = $('#container').height();
var radius = 2;
if(draggingcircle)
{
g.drawString("Dragging circle = " + draggingcircle, 50, 110);
if (gc.getInput().getMouseX() > radius && gc.getInput().getMouseX() < width - radius)
{
circle.setCenterX( gc.getInput().getMouseX() );
}
if (gc.getInput().getMouseY() > radius && gc.getInput().getMouseY() < height - radius)
{
circle.setCenterY( gc.getInput().getMouseY() );
}
}
抱歉我的语法不好,我对Slick2d并不熟悉,但这些内容应该有用。