void Cocos2dxView::mouseReleaseInCommonEdit(QMouseEvent *event) { if (m_commonPos != event->localPos()) return; ListWidgetItem *item = (ListWidgetItem*)m_listwidget->currentItem(); if (!item) return; EditorScene *scene = getEditorScene(); //执行操作 std::string tpname = std::string(item->text().toLatin1().data()); std::string filename = std::string(item->getAbsoluteFilePath().toLatin1().data()); OperationManageX->exec(new CommonEditOper(tpname, scene->getObjectLayer(), convertToOpenglPoint(QCursor::pos()), item->file_info)); }
void Cocos2dxView::attachSpriteToMouse() { ListWidgetItem *item = (ListWidgetItem*)m_listwidget->currentItem(); if (!item) return; EditorScene *scene = getEditorScene(); if (scene) { QRect r = this->geometry(); if (!m_mouseSprite) { m_mouseSprite = CCSprite::create(item->getAbsoluteFilePath().toLatin1().data()); m_mouseSprite->setOpacity(128); scene->addChild(m_mouseSprite); } QPoint pos = mapFromGlobal(QCursor::pos()); m_mouseSprite->setPosition(ccp(pos.rx(), r.height() - pos.ry())); //qt的ui y轴坐标转换为opengl的y轴坐标 m_mouseTimer.setParent(this); connect(&m_mouseTimer, SIGNAL(timeout()), this, SLOT(mouseMoveInView())); m_mouseTimer.start(20); } }