我正在开发一个 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/