4

我在 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);
4

1 回答 1

0

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

于 2013-10-19T02:25:47.770 回答