示例#1
0
void Scene1::Update(const float deltaTime){
	InputManager();
	/*if (canJump){
		if (player->position.y < 2.0f && !hitPeak)
			player->velocity.y = player->jumpVel;
		else if (moveY > 2.0f){
			hitPeak = true;
			player->velocity.y = physicsGravity.y;
		}
		else if (hitPeak){
			speedY = -0.5f;
			if (moveY <= 1.5f){
				canJump = false;
				speedY = 0;
			}
		}
	}*/

	if (player->pos.x > window->GetWidth() / 2){
		scroll = true;
		if (player->velocity.x > 0.0f)
			player->velocity.x = 0.0f;
		else
			scroll = false;
	}
	else{
			scroll = false;
	}
	
	player->position.x += player->velocity.x;
	player->position += (player->velocity * deltaTime) + 0.5f * physicsGravity * (deltaTime * deltaTime);
	player->velocity += physicsGravity * deltaTime;

	if (player->position.y <= 1.5f){
		isGrounded = true;
		canJump = true;
		physicsGravity = Vec3(0, 0, 0);
		player->velocity.y = 0.0f;
		player->position.y = 1.5f;
	}
	else {
		isGrounded = false;
		canJump = false;
		physicsGravity = Vec3(0, -1.0f, 0);
	}


	player->position.y += speedY;
	screenX += screenMoveX;
	screenX2 += screenMoveX;
	scrollCheck();
	Render();

}
示例#2
0
bool cScreenPlayfield::mouseMove(size_t X, size_t Y) {
	bool redraw = false;

	redraw = scrollCheck(X, Y);

	// If the mouse has moved, and we're placing...
	if(g_DuneEngine->mPlaceObjectGet())
		if( _mouseX != X / 16 || _mouseY != Y / 16 )
			redraw = true;

	_mouseX = X / 16;
	_mouseY = Y / 16;

	return redraw;
}