本文整理汇总了C++中WldScene::addMoveHistory方法的典型用法代码示例。如果您正苦于以下问题:C++ WldScene::addMoveHistory方法的具体用法?C++ WldScene::addMoveHistory怎么用?C++ WldScene::addMoveHistory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WldScene
的用法示例。
在下文中一共展示了WldScene::addMoveHistory方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mouseRelease
//.........这里部分代码省略.........
s->applyGroupGrid(selectedList);
// Check collisions
//Only if collision ckecking enabled
if(!s->PasteFromBuffer)
{
if(s->opts.collisionsEnabled && s->checkGroupCollisions(&selectedList))
{
collisionPassed = false;
s->returnItemBackGroup(selectedList);
}
else
{
collisionPassed = true;
//applyArrayForItemGroup(selectedList);
s->WldData->modified=true;
}
}
if((collisionPassed) || (!s->opts.collisionsEnabled))
for (QList<QGraphicsItem*>::iterator it = selectedList.begin();
it != selectedList.end(); it++)
{ ////////////////////////SECOND FETCH///////////////////////
ObjType = (*it)->data(0).toString();
/////////////////////////GET DATA///////////////
setItemSourceData((*it), (*it)->data(0).toString()); //Set Grid Size/Offset, sourcePosition
/////////////////////////GET DATA/////////////////////
//Check position
if( (sourcePos == QPoint((long)((*it)->scenePos().x()), ((long)(*it)->scenePos().y()))))
{
s->mouseMoved=false;
break; //break fetch when items is not moved
}
if( ObjType == "TILE")
{
//Applay move into main array
historySourceBuffer.tiles.push_back(((ItemTile *)(*it))->tileData);
((ItemTile *)(*it))->tileData.x = (long)(*it)->scenePos().x();
((ItemTile *)(*it))->tileData.y = (long)(*it)->scenePos().y();
((ItemTile *)(*it))->arrayApply();
historyBuffer.tiles.push_back(((ItemTile *)(*it))->tileData);
s->WldData->modified = true;
}
else
if( ObjType == "SCENERY")
{
//Applay move into main array
historySourceBuffer.scenery.push_back(((ItemScene *)(*it))->sceneData);
((ItemScene *)(*it))->sceneData.x = (long)(*it)->scenePos().x();
((ItemScene *)(*it))->sceneData.y = (long)(*it)->scenePos().y();
((ItemScene *)(*it))->arrayApply();
historyBuffer.scenery.push_back(((ItemScene *)(*it))->sceneData);
s->WldData->modified = true;
}
else
if( ObjType == "PATH")
{
//Applay move into main array
historySourceBuffer.paths.push_back(((ItemPath*)(*it))->pathData);
((ItemPath *)(*it))->pathData.x = (long)(*it)->scenePos().x();
((ItemPath *)(*it))->pathData.y = (long)(*it)->scenePos().y();
((ItemPath *)(*it))->arrayApply();
historyBuffer.paths.push_back(((ItemPath *)(*it))->pathData);
s->WldData->modified = true;
}
else
if( ObjType == "LEVEL")
{
//Applay move into main array
historySourceBuffer.levels.push_back(((ItemLevel *)(*it))->levelData);
((ItemLevel *)(*it))->levelData.x = (long)(*it)->scenePos().x();
((ItemLevel *)(*it))->levelData.y = (long)(*it)->scenePos().y();
((ItemLevel *)(*it))->arrayApply();
historyBuffer.levels.push_back(((ItemLevel *)(*it))->levelData);
s->WldData->modified = true;
}
else
if( ObjType == "MUSICBOX")
{
//Applay move into main array
historySourceBuffer.music.push_back(((ItemMusic *)(*it))->musicData);
((ItemMusic *)(*it))->musicData.x = (long)(*it)->scenePos().x();
((ItemMusic *)(*it))->musicData.y = (long)(*it)->scenePos().y();
((ItemMusic *)(*it))->arrayApply();
historyBuffer.music.push_back(((ItemMusic *)(*it))->musicData);
s->WldData->modified = true;
}
}////////////////////////SECOND FETCH///////////////////////
if(s->mouseMoved)
s->addMoveHistory(historySourceBuffer, historyBuffer);
s->mouseMoved = false;
}
}