void Character::move(){ if(movingRight){ x+=speed; while(mg.envCollision(x, y, w, 2)) x-=1.0; } else if(movingLeft){ x-=speed; while(mg.envCollision(x, y, w, 2)) x+=1.0; } if(movingUp){ y+=speed; while(mg.envCollision(x, y, w, 2)) y-=1.0; } else if(movingDown){ y-=speed; while(mg.envCollision(x, y, w, 2)) y+=1.0; } // set frames if(movingRight) setFrameX(DIRECTION_RIGHT); else if(movingLeft) setFrameX(DIRECTION_LEFT); else if(movingUp) setFrameX(DIRECTION_UP); else if(movingDown) setFrameX(DIRECTION_DOWN); if(movingRight || movingLeft || movingUp || movingDown){ nextFrameY(); glutPostRedisplay(); //cout << "x = " << x << "; y = " << y << endl; } }
void SpriteImage::nextFrameY(float second) { if (_time + second < TIMEMANAGER->getWorldTime()) { _time = TIMEMANAGER->getWorldTime(); nextFrameY(); } }
void Entity::interact(Entity & sender){ nextFrameY(); traversable = !traversable; }