Q&As:1.cocos2d-html5如何获得鼠标划过事件
2024-10-21 02:34:20
不喜欢按部就班学东西,感觉各种框架各种技术就应该是拿到手用的,这应该是导致我现在学了这么多却没一样精通的缘故吧。
发现自己喜欢在QQ群回答一些菜鸟的问题,就算自己不清楚也会乐意看代码帮助解决╮(╯_╰)╭,就当是别人推着我前进吧,干脆开一个分类专门记录回答别人提问的。
Q1:想用cocos2d-html5做个背包系统,需要鼠标划过背包中道具的时候弹出道具的信息,问如何获得这个鼠标划过事件?
答案是没有一个简单的api可以做到这一点。需要修改cocos2d的代码并且自己做事件分发。
cc._addEventListener(element, "mousemove", function (event) {
if(!selfPointer._mousePressed)
return; var pos = selfPointer.getHTMLElementPosition(element);
var location = selfPointer.getPointByEvent(event, pos); if(!supportTouches)
selfPointer.handleTouchesMove([selfPointer.getTouchByXY(location.x, location.y, pos)]); var mouseEvent = selfPointer.getMouseEvent(location,pos,cc.EventMouse.MOVE);
mouseEvent.setButton(event.button);
cc.eventManager.dispatchEvent(mouseEvent); event.stopPropagation();
event.preventDefault();
}, false);
以上是c2d h5的代码,CCInputManager.js,这里向canvas注册了mousemove的事件侦听。该函数第一句就是屏蔽了鼠标非按下状态的鼠标滑动事件。所以,要做到提问中的功能,注掉这句先。剩下的就是自己做事件分发了,判断鼠标位置是否在道具的矩形内。
最新文章
- Web Storage的方法
- HTML JavaScript简介
- python 利用smtp发送邮件,html格式
- 【POJ】2170 Lattice Animals
- poj1247 bjfu1239水题
- 五毛的cocos2d-x学习笔记01-创建项目
- Log Reservation
- Something about SeekingJob---Resume简历
- mybatis延迟加载详解
- 安卓4.0以上系统怎么不用root激活XPOSED框架的方法
- C - Heavy Transportation &;&; B - Frogger(迪杰斯变形)
- WebService SOAP
- PHP开发——分支结构
- 我看Windows 8.1
- pig cookbook学习
- 什么是LTE?
- Firefox渗透插件—Web渗透必备工具
- 还原bak到localdb的问题:The logical database file cannot be found ldf
- python3 安装win32api
- 「Linux+Django」uwsgi服务启动(start)停止(stop)重新装载(reload)