win32的api实在太麻烦了,但是glView里面有个setCursorVisible的方法,可是借此实现同样的效果。
AppDelegate.cpp中:
glview = GLViewImpl::createWithFullScreen("123465");glview->setCursorVisible(false);director->setOpenGLView(glview);自己的layer中:
//鼠标指针auto cursor = Sprite::create("cursor_nor.png");this->_cursor = Node::create();this->_cursor->addChild(cursor);this->addChild(this->_cursor,10000);auto listenerMouse = EventListenerMouse::create(); listenerMouse->onMouseMove = [&](cocos2d::EventMouse* event) { Point mouse = event->getLocation(); mouse.y = 1024 - mouse.y; this->_cursor->setPosition(Point(mouse.x+20,mouse.y-30)); }; listenerMouse->onMouseDown = [&](cocos2d::EventMouse* event) { this->_cursor->removeAllChildren(); auto cursor = Sprite::create("cursor_pre.png"); this->_cursor->addChild(cursor); }; listenerMouse->onMouseUp = [&](cocos2d::EventMouse* event) { this->_cursor->removeAllChildren(); auto cursor = Sprite::create("cursor_nor.png"); this->_cursor->addChild(cursor); }; this->_eventDispatcher->addEventListenerWithFixedPriority(listenerMouse, 1);