我在 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 的第二行,我遇到了错误。
CCScene scene = CCScene.node();
    scene.addChild(new Trr(), -1);
    CCDirector.sharedDirector().runWithScene(scene);

最佳答案

您不能创建抽象类的实例。要修复,您可以删除抽象修饰符,一切都应该正常工作。

关于java - 无法在 cocos2d 中实例化类型类名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17525926/

10-08 20:42