以下代码旨在根据右/左点击增加和减少圆的半径。
两个小故障 -
1.如果我按下&拖动我的鼠标。
2.如果我使用重置按钮然后拖动鼠标,那么圆圈就会消失。
我在哪里做错了。我确定这两个问题都有相同的原因。
$%1$18s
答案 0 :(得分:1)
你已经陈述了你不喜欢的东西,但你没有详细说明你的程序应该做什么。无论如何,我会解决你的问题:
删除(或暂时注释掉)所有3个测试按钮按下的if语句并用以下内容替换它们:(然后回来告诉我这是否是你要找的)
if (event.type == sf::Event::MouseButtonPressed)
{
if (event.mouseButton.button == sf::Mouse::Left)
{
// Reset the circle by pressing within bounds of rectangle
if ((event.mouseButton.x >= 0 && event.mouseButton.x <= 20) &&
(event.mouseButton.y >= 400 && event.mouseButton.y <= 420))
{
p = 10;
resetter(circle);
}
// Left clicked somewhere besides the rectangle, so enlarge the circle
else
{
p *= 2;
radiusincrementer(circle, p);
}
}
// Right clicked anywhere, so make the circle smaller
if (event.mouseButton.button == sf::Mouse::Right)
{
p /= 2;
radiusincrementer(circle, p);
}
}