SDL - 如何使用单个按钮作为“开”和“关”之间的切换?

时间:2014-01-24 21:49:51

标签: c++ events keyboard sdl

这可以用SDL完成吗?
我的意思是当你按F1 - “打开灯”时。当您第二次按F1时 - “关灯”,依此类推。

解决这个问题的方法可以是保持按钮的计数器,如果它被按下奇数次 - “打开灯”,如果它被按下次数 - “关闭灯”。

但如果我有12个按钮用于不同的功能,我认为这不是最佳方式,因为我必须为这12个按钮中的每一个保留不同的计数器。

1 个答案:

答案 0 :(得分:0)

计数器并不是一个坏主意,我认为这也不是最佳方式。如果你使用int来做这个,每个计数器只有4个字节,所以它不是那么多。

但是在我看来,你可以用bool值来做这个,当值为true时,按钮是活动的,否则它不是。如果也会简化你的代码,因为你只需要为你的bool值实现一个getter,你就可以在你的条件下使用它。 On和off是二元期权,因为它是0或1,所以bool完全代表。

只是对于您的软件的概念,您可以创建一个包含该信息的类Button,并为每个开关创建一个实例。