html - 我在 html5 游戏中使用 crafty 样板,但 Backbone 或 jquery 存在冲突?

标签 html backbone.js craftyjs

我正在开发一个 html5 游戏。它使用 Crafty 游戏引擎,并使用使用backbone、jquery 和 require js 的游戏引擎样板。我已经为游戏编写了一个新的主干接口(interface),但它不响应任何事件处理程序。我做错了什么吗?这是我的代码:

Info = BaseEntity.extend({
defaults: {
        'text_begin' : "<span id='info_begin' style='text-shadow:2px 2px #000;cursor:pointer; '>bEGIN gAME</span>",
    },
    initialize: function(){
     var model = this;


     var entity = Crafty.e("2D, HTML, DOM, Text, Mouse")

     entity
            .attr({x: 20, y: 50, z: 1, w: 200})
            .text(model.get('text_begin'))
            .textColor('#FF0000')
            .textFont({'size' : '30px', 'family': 'Arial', 'weight': 'bold'})
            .setName('Begin Info')
.bind("Click", function(){console.log('hi tere')})




     model.set({'entity' : entity });
    }
});

最佳答案

是的,您误解了该游戏引擎的样板的主干是如何设置的。接口(interface)基本上是“只读”的。阅读有关工艺样板的 wiki。如果您想创建新的交互式狡猾实体,您需要创建新实体,而不是接口(interface)。

因此,例如,您将转到场景文件并声明一个新实体:

sc['info'] = new Info();

您还需要确保 AMD 正在调用您的新实体文件。然后基本上您拥有的文件可以移动到实体文件夹,您应该获得交互性。

关于html - 我在 html5 游戏中使用 crafty 样板,但 Backbone 或 jquery 存在冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14940403/

相关文章:

javascript - IE8+下支持hasAttribute()吗?

jquery - 与 ie7+ 和 mozilla 兼容的 3D 按钮?

javascript - Backbone 模型循环输出最终对象而不是迭代器

javascript - 如何检测多边形上的碰撞

html - CSS 在悬停时开始和暂停动画

html - 将旋转的文本与 Canvas 左侧对齐

backbone.js - 如何将 Marionette.ItemView 绑定(bind)到现有页面元素,而不是传入模板?

javascript - backbone 是否可以创建一条匹配所有以某物开头的 url 的路由?

javascript - 补间对象的碰撞检测

javascript - 从 craftyjs 中的对象获取组件类型