好的,我有三个条件。它看起来很简单,但是我无法按照我想要的方式工作,在我尝试解释时请耐心等待。
If(conditionA){
Play Sound 1}
If(conditionB) {
changedrawable ///(irrelevant)
}
If(conditionA && conditionB){
Play sound 2
}
////Unfortunately, since condition A is true, it plays sound 1 too, and I only want it to play sound 2
FWIW这些条件只是触摸屏上的坐标,我将它们设置为布尔值
Boolean conditionA;
conditionA = y > 0 && y < (0.2 * tY) && x > 0 && x < (0.1667 * tX) || y2 > 0
&& y2 < (0.2 * tY) && x2 > 0 && x2 < (0.1667 * tX);
ConditionA和ConditionB指的是触摸屏上的不同点。主要问题:当条件A和条件B都是真的时,我怎么能得到它,只播放声音2(而不是两个声音)?我在最后一天试图弄清楚我的头发。如果有解决方案或您需要更多详细信息,请告知我们。谢谢!
答案 0 :(得分:1)
这可能不是最佳选择,但它很容易阅读:
if (conditionA && conditionB) {
play sound 2
} else if (conditionA) {
// Implies that conditionB == false
play sound 1
} else if (conditionB) {
change drawable
}
答案 1 :(得分:0)
怎么样:
if (conditionA && conditionB) {
// play sound2
} else if (conditionA) {
// play sound1
} else if (conditionB) {
// change drawable
}
如果两个条件都不满足,它将运行条件的代码。如果他们都满意,那么它只会运行//play sound2
。
答案 2 :(得分:0)
只需将第三个选项作为第一个选项,然后使用else ifs,以防两个条件都不满足。
编辑/他说的话:)
答案 3 :(得分:0)
这可能不是最优雅的解决方案,但它应该有效:
if (conditionA && conditionB) {
play sound 2
}
else {
if (conditionA){
play sound 1
}
if (conditionB) {
change drawable
}
}
答案 4 :(得分:0)
不应该是
if(conditionA && conditionB) {
play sound 2
} else if(conditionA) {
play sound 1
}
if(conditionB) {
change drawable
}
如果要播放声音,你只需要其他声音。不是为了改变可绘制的。