【问题标题】:Cocos2d: Activity class & CCLayer classCocos2d:Activity 类 & CCLayer 类
【发布时间】:2014-08-01 14:56:50
【问题描述】:

我正在使用 eclipse 构建游戏,现在我想使用 Cocos2d engine。我的问题是我想合并我完成的程序和 cocos2d 引擎的滑动菜单。现在我的问题是如何将我的 Menu Class 扩展到 Activity 类 以便我可以为我的 XML 调用 onCreate 和 setContentView 并扩展到 CCLayer Class 使我的菜单类连接到我的 Cocos2d 的滑动菜单上。

感谢您的任何建议和帮助。请为我的问题道歉。

更新:这是代码

public class Menu extends Activity implements OnClickListener{
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        .... //some codes here
    }
    @Override
    public void onClick(View view) {
        // some codes here.
    }
}

这是我想从 CCLayer 使用的方法,但它需要从该类扩展它。

public static CCScene scene()
{
    CCScene scene = CCScene.node();
    CCLayer layer = new Menu();
    scene.addChild(layer);
    return scene;
}

【问题讨论】:

  • Java 中只能扩展一个类;语言就是这样。
  • 安卓是java。不能扩展两个类。
  • 如果您提供一些代码,有人可能会提供一些替代方案。
  • @GeorgeBaker 先生,请查看更新。我已经发布了我的代码。谢谢

标签: android eclipse cocos2d-android cclayer ccscene


【解决方案1】:

无法在 Java 中扩展 2 个类。但是你可以使用接口,或者观察者/监听者模式。

【讨论】:

  • 那么有没有办法让我可以在两个类中使用他们的方法?
  • 如果你扩展Activity,你可以使用它的所有功能,并且由于你的其他类有静态功能,只需使用CCScene.scene()。还是我错过了什么?
  • 我在 new Menu() 上有一个错误,上面写着 type mismatch cannot convert Menu to CCLayer
  • 您不能将对象Menu 分配给CCLayer,它们不相关。如果您想将Menu 用作CCLayer,您应该执行以下操作: 1) 创建public interface CCLayer,并声明您需要的所有API(函数)。 2) 创建public class Menu extends Activity implements CCLayer,并实现原CCLayer 类中的所有功能。 3) 现在你可以输入CCLayer menu = new Menu()
  • 如何声明 API 函数?那些是什么?是不是像在CClayer接口类中复制整个CCLayer java类一样?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-31
  • 1970-01-01
相关资源
最近更新 更多