Beispiel #1
0
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;
	}
}
Beispiel #2
0
void SpriteImage::nextFrameY(float second)
{
	if (_time + second < TIMEMANAGER->getWorldTime())
	{
		_time = TIMEMANAGER->getWorldTime();
		nextFrameY();
	}
}
Beispiel #3
0
void Entity::interact(Entity & sender){
	nextFrameY();
	traversable = !traversable;
}