【发布时间】:2013-07-05 17:50:30
【问题描述】:
我在 cocos2d-android 中创建了新类并添加了场景,但在主类中,在类名 Cannot instantiate the type Trr 中出现此错误,其中 Trr 是类的名称。
通过谷歌搜索,我发现错误是由于 Trr 是抽象类并且无法直接实例化。有人可以帮我吗?
这是完整的代码
**public abstract class Trr extends CCLayer{
public static CCScene scene()
{
CCScene scene = CCScene.node();
CCLayer layer = new GameL();
scene.addChild(layer);
return scene;
}
CCTextureAtlas atlas;
static final int kTagNode = 1;
static final int kTagGrossini = 2;
public void Trr() {
CGSize s = CCDirector.sharedDirector().winSize();
CCLabel label = CCLabel.makeLabel(title(), "DroidSans", 18);
label.setPosition(s.width / 2, s.height - 30);
addChild(label, 1);
CCMenuItemImage item1 = CCMenuItemImage.item("b1.png", "b2.png", this, "backCallback");
CCMenuItemImage item2 = CCMenuItemImage.item("r1.png", "r2.png", this, "restartCallback");
CCMenuItemImage item3 = CCMenuItemImage.item("f1.png", "f2.png", this, "nextCallback");
CCMenu menu = CCMenu.menu(item1, item2, item3);
menu.setPosition(0, 0);
item1.setPosition(s.width / 2 - 100, 30);
item2.setPosition(s.width / 2, 30);
item3.setPosition(s.width / 2 + 100, 30);
addChild(menu, 1);
}
public abstract String title();
}
**
MainActivity- Trr 的第 2 行出现错误。
CCScene scene = CCScene.node();
scene.addChild(new Trr(), -1);
CCDirector.sharedDirector().runWithScene(scene);
【问题讨论】:
-
Trr 为什么是抽象的?你不能创建抽象类的实例
-
让它不抽象,固定
-
好的,谢谢:) @LearnCocos2D
-
嘿 @LearnCocos2D 我是你的忠实粉丝,你的作品很棒,为什么你总是在 cocos2d-iphone 上写博客和书籍?为什么不使用 cocos2d-android,这样它对这里的许多人都有用。
-
我不是为android开发的,即使那样cocos2d-x也会是更受欢迎的选择(个人对于跨平台我根本不会使用cocos)
标签: java android cocos2d-android