我正在使用 Craftyjs 构建这个简单的 HTML5 拖放游戏。
- 我创建了一个带有一些组件的实体,我们称之为 E1,其中一个组件是“
Draggable
”。 - 我创建了一个新实体 E2 并将其作为 E1 的克隆(现在 E2 应该具有所有 E1 的属性和组件的副本)
运行时,E2 被克隆,具有相同的属性和属性,但不可拖动!
var E1 = Crafty.e("2D, Canvas, apple, Draggable, Gravity, Collision");
var E2 = E1.clone();
E2.attr({x:100, y:100});
E2.addComponent("可拖动");
E2.enableDrag(); E2.bind("正在拖动", function(){ console.log("E2被拖动"); });
我尝试过了:
- 强制添加 Draggable 组件,
E2.addComponent("Draggable")
但它不起作用! - 绑定 Draggable 事件,如“
Dragging
”和“StartDrag
”,但它也不起作用! - 通过使用“
enableDrag
”方法强制启用拖动,但这也没有任何效果:( consloe.log
E2 是否有 Draggable 组件通过 usingE2.has("Draggable")
并返回 yes!
仅供参考:MouseUp 和 MouseOver 等所有其他功能也不适用于 E2,即使我稍后添加它们,关于是什么导致 Draggable 组件在克隆实体中不起作用的任何想法?