Пример #1
0
bool GameObjectManager::move(GameObject* obj, int to)
{
    int from = indexOf(obj);
    if (from == -1 || from == to)
        return false;

    bool blocked = blockSignals(true);
    removeAt(from);
    insert(to, obj);
    blockSignals(blocked);
    emit objectMoved(obj, to);
    return true;
}
void testApp::mouseDragged(int x, int y, int button){
    if ((game != NULL) && bMouse && !iSurface.bDebug){
        ofPoint mouse = ofPoint(x,y);
        
        if ( iSurface.getView().isOver(mouse) && !iSurface.getView().bEditMode ){
            ofxBlob pretendBlob;
            
            pretendBlob.id = blobIDSimulator;
            
            ofPoint  pos = iSurface.getView().getScreenToSurface(mouse);
            
            pretendBlob.pts.clear();
            for(int i = 0; i < blobResolution + 1; i++){
                ofPoint pt;
                pt.x = (blobRadio * cos( blobAngle*i) + pos.x)/(float)iSurface.getView().getWidth();
                pt.y = (blobRadio * sin( blobAngle*i) + pos.y)/(float)iSurface.getView().getHeight();
                pretendBlob.pts.push_back(pt);
            }
            pretendBlob.nPts = blobResolution;
            pretendBlob.nFingers = 0;
            
            if ((game->getTrackMode() == TRACK_JUST_OBJECT) || 
                (game->getTrackMode() == TRACK_ACTIVE_OBJECT) ||
                (game->getTrackMode() == TRACK_BOTH)){
                pretendBlob.centroid = iSurface.getView().getScreenToSurface(mouse);
                pretendBlob.centroid.x /= iSurface.getView().getWidth();
                pretendBlob.centroid.y /= iSurface.getView().getHeight();
                objectMoved(pretendBlob);
            }
            
            if ((game->getTrackMode() == TRACK_JUST_HANDS) || 
                (game->getTrackMode() == TRACK_ACTIVE_HANDS) ||
                (game->getTrackMode() == TRACK_BOTH)){
                pretendBlob.palm    = iSurface.getView().getScreenToSurface(mouse);
                pretendBlob.palm.x /= iSurface.getView().getWidth();
                pretendBlob.palm.y /= iSurface.getView().getHeight();
                pretendBlob.fingers.clear();
                pretendBlob.gotFingers  = true;
                handMoved(pretendBlob);
            }
        }
    }
}