使用code IDE 的 JSBinding测试项目事件不响应,我试过触摸,试过鼠标事件,还发布到IOS测试过,但都没有响应,连方法都没有进入,求大神指教
把cocos版本 js代码贴出来额
用谷歌浏览器就都可以,但是发布出来或者run JSBinding 的都不行,IOS真机不行,IOS模拟器也不行
cocos2d-js 版本 v3.0-rc2
code ide 版本 rc1
//项目入口
var SceneMain = cc.Scene.extend({
init:function(){
this._super();
var UILayer = new UIObject();
this.addChild(UILayer);
UILayer.init();
},
onEnter:function () {
this.init();
}
});
//主UI
var UIObject = cc.Layer.extend({
Page:new Array(),
init:function(){
this._super();
this.Page = new XmjjLayer();
//this.Page = new QwysLayer();
//this.Page = new GgjsLayer();
//this.Page = new GdzzLayer();
//this.Page = new DmcbdLayer();
for(var i=0;i<this.Page.length;i++)
{
this.Page*.x = 0;
this.addChild(this.Page*,1);
this.Page*.init();
}
}
});
//项目简介
var XmjjLayer = cc.Layer.extend({
back:null,
init:function(){
this.back = cc.Sprite.create(res.XmjjBack);
var Size = cc.director.getWinSize();
this.back.attr({x:Size.width/2,y:Size.height/2,scale:1});
this.addChild(this.back,2);
cc.eventManager.addListener({
event: cc.EventListener.MOUSE,
onMouseMove: function(event){
var str = "MousePosition X: " + event.getLocationX() + " Y:" + event.getLocationY();
cc.log(str);
// do something...
},
onMouseUp: function(event){
var str = "Mouse Up detected, Key: " + event.getButton();
cc.log(str);
// do something...
},
onMouseDown: function(event){
var str = "Mouse Down detected, Key: " + event.getButton();
cc.log(str);
// do something...
},
onMouseScroll: function(event){
var str = “Mouse Scroll detected, X: " + event.getLocationX() + " Y:” + event.getLocationY();
cc.log(str);
// do something…
}
},this);
}
});
你咋会想到监听mouse呢??
你应该监听onTouchBegan onTouchMoved onTouchEnded
用code IDE 的 JSBinding运行项目的时候,无论使用mouse或者touch都没有能正常运行,全都没有进入方法。
再说说技术问题,在移动设备上或者pc web上的单点触控来说,用mouse不是都等于touch么,而且mouse可以兼容touch,但是touch应该没办法兼容mouse吧?
我原来用cocos-js 3 rc0 版本,被这个折磨了好几天,始终找不着问题
今天把它升级到 rc2,居然自己好了。
我是用rc2新创建了一个项目,然后把原来的脚本和资源拷贝进去的。你也可以试试这么做,不要用原来的项目工程。
在win上 mouse是可以用的。
我也是,已解决