我正在尝试清理类的代码,并且在创建碰撞方法时,Eclipse不断给出错误#34;分配的左侧必须解析为变量。所有我的if语句都会发生此错误。我知道这个问题可能非常简单,但非常类似的代码对我的同行有用,我似乎无法解决为什么我的不同。谢谢!
<?xml version="1.0" encoding="utf-8"?>
<manifest package="<my package>"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false"/>
<uses-feature
android:name="android.software.leanback"
android:required="true"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="test"
android:theme="@style/Theme.Leanback">
<activity
android:name=".MainActivity"
android:icon="@drawable/app_icon_your_company"
android:label="test"
android:logo="@drawable/app_icon_your_company"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
答案 0 :(得分:1)
应该是!=
而不是=!
您的condition
应该是:
if (getElementAt(x, y) != null) {...}
else if (getElementAt(x + 2 * BALL_RADIUS, y) != null) {...}
等等。
答案 1 :(得分:1)
=!
不是&#34;不是&#34;比较(!=
)。 =!
实际上是两个运算符=
和!
。换句话说:您的代码试图反转null
并将反转赋值给方法调用。
如果您想检查&#34;不是&#34;,请使用!=
。
答案 2 :(得分:0)
=!
被解释为此
<something> = !(boolean)
//var here = negation(boolean)
你有这个代码:
getElementAt(x, y) =! null
因此编译错误。
使用与!=
运算符不同的方法修复它。
之后,其他问题在这里:
return (getElementAt(x, y));
bounceClip.play();
这将引发另一个编译器错误,因为在return
之后无法执行更多代码。不确定如何解决它,因为我不知道你的真实意图。