【问题标题】:Class or Interface expected cocos2d-android类或接口预期 cocos2d-android
【发布时间】:2014-09-07 18:00:15
【问题描述】:
我正在尝试在 tutorial 之后在 Android Studio 中使用 cocos2d-android,问题是我无法在 myactivity.java 中添加:
protected CCGLSurfaceView _glSurfaceView;
因为AndroidStudio显示了一条消息:
class or interface expected
我在教程中没有看到类定义,在此之前我只是将 cocos2d-android.jar 作为库添加到 libs 文件夹中,遵循this question。
【问题讨论】:
标签:
java
android
cocos2d-iphone
【解决方案1】:
您想在 Java 代码中使用的所有类型都需要在某个地方定义。这既可以发生在您自己的 Java 代码中,也可以发生在外部库中。
在您的情况下,您想使用 CCGLSurfaceView 类。该类是 Cocos2D 的一部分,并在该库中定义。但是,您需要告诉您的 Java 代码从库中加载/包含该特定类定义。否则这个类是未知的,你会看到关于编译器期望已知类或接口的相应错误。
在您的类定义之前添加这一行 [*] 应该可以解决您的问题。
org.cocos2d.opengl.CCGLSurfaceView;
此步骤也可以在 eclipse/AndroidStudio 中自动执行:由于您添加了 Cocos2d 作为外部依赖项,因此您的 IDE 可以识别它,并且使用以下快捷方式将自动尝试在所有依赖项中查找匹配的类并添加相应的import声明:
CTRL+SHIFT+O(或通过菜单Source → Organize Imports em>)
[*] 如果您按照链接的教程进行操作,则在 SimpleGame 类的定义之前插入该行。请参阅教程网站上的 cmets 中的示例。