这很难解释,但基本上我有一堆按钮,这些按钮同时拥有自己的类和唯一变量。我希望能够获得最后点击的按钮,但我不知道该怎么做。这是一些代码。
a = len(towers)
currentTower = towers[a-1]
currentTower.damage += 150
currentTower.radius += 100
这样做是获取最后放置的按钮,但我想获得最后一次点击。 Towers是一个变量,它将这些按钮存储在列表中。对不起,如果没有得到很好的解释。谢谢你的帮助。
答案 0 :(得分:0)
要获取最后一次单击的按钮,您可以创建一个全局变量并在每个按钮“clicked”事件处理程序中设置它。全局变量可以指向按钮本身或指向数组中的索引。
答案 1 :(得分:0)
我不确定你是在谈论键盘上的鼠标按键还是按键,但我会在解释中考虑鼠标按键。
因此,如果我了解您的Point screenPoint = dragContext.getPoint();
View view = dragContext.getView();
double latitude = view.computePositionFromScreenPoint(screenPoint.getX(), screenPoint.getY()).getLatitude().degrees;
double longitude = view.computePositionFromScreenPoint(screenPoint.getX(), screenPoint.getY()).getLongitude().degrees;
Position objectPosition = new Position(LatLon.fromDegrees(latitude, longitude), 0);
有一些属性,例如class Tower:
和radius
以及某些方法。您似乎希望将此类与鼠标按钮结合使用,并在按下特定鼠标按钮时对特定塔执行某些操作。好吧,我想你的脚本中有一个主循环正在检查pygame事件?然后我在这个循环中提出类似这样的东西:
damage
通过这种方式,通过使用字典# Before the loop
running = True
mousebutton_tower = {}
# The loop
while running:
for event in pygame.event.get():
# If you quit the game
if event.type == pygame.locals.QUIT:
running = False
# If a mouse button is pressed
if event.type == pygame.locals.MOUSEBUTTONDOWN:
if event.button not in mousebutton_tower.keys{}:
mousebutton_tower[event.button] = Tower()
tower = mousebutton_tower[event.button]
# Do stuff about this Tower...
,每个鼠标按钮与特定的塔耦合,在主循环中,您可以通过检查按下的最后一个鼠标按钮轻松找到当前塔。如果您需要更多详细信息或者我对您的问题完全错误,请告诉我......