Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Player::interact(Block *block) {
- switch(block->getType()) {
- case Type::GROUND:
- mState = State::Ground;
- if(block->getCenter().y < getCenter().y) {
- // if player jumps into ceiling
- setPosition(getPosition().x, block->getPosition().y + block->getSize().y);
- mVelocity.y *= -0.45f;
- }
- else {
- setPosition(getPosition().x, block->getPosition().y - getSize().y);
- mVelocity.y = 0.f;
- }
- break;
- case Type::SPRINGBOARD:
- springJump(block->getPeriod());
- break;
- case Type::SPIKES:
- case Type::SAWBLADE:
- die();
- break;
- case Type::COIN:
- scoreUp(block);
- break;
- default : break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment