void moverArriba(){ if(camaraVistaExterior->xrot< MAX_XROT_CAMARA_EXTERIOR){ camaraVistaExterior->xrot+=drot; redimensiona(currWidth, currHeight); } }
//hacia la camara es positivo //hacia la camara es positivo void moverAdelante(){ interaccionCuadros(); Objeto *aux=escena->objetos["protagonista"]; if(!checarSubirBajar()){ if(!collision(aux->rotY-180)){ double rotYRad= degToRad(aux->rotY-180); aux->posZ-= dtran*5 * (cos(rotYRad)); aux->posX-= dtran*5 * (sin(rotYRad)); camaraPrimeraPersona->xview=aux->posX+sin(degToRad(aux->rotY-180)); camaraPrimeraPersona->zview=aux->posZ+cos(degToRad(aux->rotY-180)); redimensiona(currWidth,currHeight); } }else{ redimensiona(currWidth,currHeight); } }
void keyboardSpec(int key,int x,int y){ switch(key){ case GLUT_KEY_UP: yview+=dtran; redimensiona(currWidth,currHeight); break; case GLUT_KEY_DOWN: yview-=dtran; redimensiona(currWidth,currHeight); break; case GLUT_KEY_HOME: zview+=dtran; redimensiona(currWidth,currHeight); break; case GLUT_KEY_END: zview-=dtran; redimensiona(currWidth,currHeight); break; case GLUT_KEY_LEFT: xview-=dtran; redimensiona(currWidth,currHeight); break; case GLUT_KEY_RIGHT: xview+=dtran; redimensiona(currWidth,currHeight); break; } }
istream& matrix_t::read(istream& is) { int m,n; is >> m >> n; redimensiona(m,n); const int sz=m*n; for(int i=0;i<sz;i++) is >> M_[i]; }
void girarDerecha(){ Objeto *aux=escena->objetos["protagonista"]; //rota al avatar hacia derecha aux->rotY-=MOUSE_MUL_RY * drot; //traslada camara camaraPrimeraPersona->xview=aux->posX+sin(degToRad(aux->rotY-180)); camaraPrimeraPersona->zview=aux->posZ+cos(degToRad(aux->rotY-180)); //rota la camara hacia derecha //camaraPrimeraPersona->yrot+=MOUSE_MUL_RY * drot; //camaraPrimeraPersona->xview+=20; redimensiona(currWidth, currHeight); }
istream& matrix_t::read(istream& is) { int m,n; is >> m >> n; cout << "Introduce ahora cada uno de los datos de la matriz" << endl; redimensiona(m,n); const int sz=m*n; for(int i=0;i<sz;i++) { is >> M_[i]; } }
void exploraPorDerecha(){ activa->yrot-=MOUSE_MUL_RY * drot; redimensiona(currWidth, currHeight); }
void exploraPorIzquierda(){ activa->yrot+=MOUSE_MUL_RY * drot; redimensiona(currWidth, currHeight); }
void moverAbajo(){ if(camaraVistaExterior->xrot>MIN_XROT_CAMARA_EXTERIOR){ camaraVistaExterior->xrot-=drot; redimensiona(currWidth, currHeight); } }