一个while无限循环中两个并列的if如何让他们同时运行
while True:
button.Update()
if button.A_wasPressed :
led.white = 1
button.Update()
if button.B_wasPressed :
c = 0
比如这一小段代码
当程序运行到if button A时我按下了button B
这时c=0并不会运行
怎么解决它 brightwill 发表于 2020-12-17 22:10
while True:
if button.A_wasPressed :
我把B改成了elif,就可以了
button update是更新按钮状态
谢谢啦 求解决,实在不行俺去发悬赏 while True:
button.Update()
if button.A_wasPressed :
led.white = 1
if button.B_wasPressed :
c = 0
button.Update()
if button.B_wasPressed :
c = 0
这样不行? brightwill 发表于 2020-12-17 22:03
while True:
button.Update()
if button.A_wasPressed :
我试试
尝试一下 brightwill 发表于 2020-12-17 22:03
while True:
button.Update()
if button.A_wasPressed :
还是不行,按钮按好几下才亮 while True:
if button.A_wasPressed :
led.white = 1
if button.B_wasPressed :
c = 0
button.Update()
试试? 另外button.Update()这个是干嘛的 设置一个局部变量类型来收集全部按钮选择,在所有button按钮事件过后通过这个局部变量的值来选择执行什么内容
A和B按钮只影响这个局部变量的值而不影响C的值
我用C#写一个例子给你看
while (true)
{
int Temp = -1;
if (Button.A)
Temp += 1;
if (Button.B)
Temp += 2;
switch (Temp)
{
case 0:
led.white = 1;
break;
case 1:
c = 0;
break;
case 2:
led.white = 1;
c = 0;
break;
}
} 其实,我看到当有两个以上需要同时以不同事件触发的方式激活的时候,我第一个想到的注册一个监听器。楼主可以查一下监听器的原理。 代码逼格会上升很多哈哈哈 程序在不断的调试中成功
页:
[1]
2