【问题标题】:Cocos2d-js to develop hybrid canvas/DOM applicationsCocos2d-js 开发混合 canvas/DOM 应用
【发布时间】:2015-08-05 21:03:19
【问题描述】:

我使用 cocos2d-x (c++) 一年半了,我对它的方法很满意。现在,我想在 cocos-js 中移植一个应用程序,以便在浏览器上也有一些有用的东西。

研究这个 IBM article 我认为混合画布/DOM 方法非常适合我的应用程序,无论如何我无法获得 cocos-js 框架是否能够管理它。

我已经看到了画布方法,这对我来说很清楚,但我找不到有关使用 CSS/HTML 来提出本文所述的混合内容的信息。

您能提供建议吗?

【问题讨论】:

    标签: javascript html dom canvas cocos2d-js


    【解决方案1】:

    我看了那篇文章,但我不确定你想要完成什么

    通常,我更喜欢在 Coco 的绘图区域内完成所有工作,这样我就可以为原生平台编译游戏以及在浏览器中玩游戏。

    如果您想做的是放弃任何跨平台编译的机会,让您的游戏仅在浏览器中运行,那么使用 HTML 元素与游戏画布交互应该没有任何问题。您的整个游戏都是使用 JavaScript 制作的,因此如果您设置全局对象/方法/事件侦听器或您选择的任何内容,您应该能够从您的对象中调用您的代码。

    假设您正在制作一个船舶游戏,并且在游戏的 .js 文件中的某个位置(在全球范围内)您有一个 var shipfire 方法,应该没有任何问题您有一个 HTML 元素,当您单击它时会触发 ship.fire();

    另一方面,如果您想做的是用“DOM 渲染器”替换游戏的画布区域(这样游戏精灵是 DOM 元素而不是画布上的绘图),那么您不能这样做可可。你可以试试LimeJS,它确实可以让你这样做(虽然它似乎有一段时间没有更新了)。

    【讨论】:

    • 感谢塞巴斯蒂安的解释。我通常使用 cocos2d-x 进行开发,但在应用程序开发(而不是游戏开发)中,使用 DOM 方法可以更好地完成工作,如 IBM 文章中所述,例如:文本管理。我正在学习 cocos2d-js,甚至可以在浏览器上部署并在应用程序和浏览器之间进行交叉,所以我希望有一个能够在不同平台上发布的解决方案。我用谷歌搜索了很多,但找不到将 cocos2d-js 与 DOM 元素混合并将画布与 html 合并的示例。
    • 编辑:你说“如果你想做的是放弃任何跨平台编译的机会,让你的游戏只在浏览器中玩”。你是说这种使用 cocos2d-js 的混合 canvas/dom 方法会失去我的应用程序像在浏览器中一样原生使用的能力吗?
    • 据我所知,是的:虽然 Cocos 使用 Spidermonkey 在编译的应用程序中运行 JS 代码,但它不是真正的浏览器,所以你不会有 DOM 元素。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    相关资源
    最近更新 更多