所以我正在尝试使用CreateJS创建一个游戏,其中包括TweenJS和EaselJS。
这是我正在使用的代码示例-
var shape = new createjs.Shape();
shape.graphics.beginFill("Red").drawRoundRect(50, 50, 300, 200, 20);
这只会创建形状。我希望移动设备能够轻松单击它,而不会有任何延迟。我尝试过快速点击.js,但它仅适用于 DOM 元素,而不适用于 EaselJS 形状。
我使用 shape.on('click')
方法产生了一个简单的点击。我试图做shape.on('touch')
,但没有成功。
我正在使用一个名为PhoneGap的应用程序,它将HTML网页转换为应用程序。
我试图寻找许多资源来帮助我解决这个问题,但我还没有找到。有人可以帮我找出我到底可以做些什么来解决这个问题吗?
你能提供更多的代码吗?如何将事件侦听器绑定到 createjs-Shape?您可以使用 easeljs "on" 方法 (http://createjs.com/docs/easeljs/classes/EventDispatcher.html#method_on) 绑定它们。触摸设备上不应该有延迟。
shape.on("click", function(event) {
// to something
});
请记住,您可以使用 CSS 属性touch-action
并将其设置为 manipulation
以摆脱较新浏览器(> Safari 9.1)中的触摸延迟:https://developer.apple.com/library/prerelease/mac/releasenotes/General/WhatsNewInSafari/Articles/Safari_9_1.html#//apple_ref/doc/uid/TP40014305-CH10-SW8
其实很简单——
我不敢相信我以前没有见过这个。shape.on("click")
不起作用,因为它未在CreateJS Touch API中启用。
你只需要在这里包含一行代码-
createjs.Touch.enable(stage);
这可以绑定事件以使其保持联系。它们的定义在这里-http://www.createjs.com/docs/easeljs/classes/Touch.html