-2
我想製作一個像「mud」這樣的物體,導致玩家的x和y速度和跳躍速度在站立時慢下來,我該怎麼做?下面是現在與球員的速度涉及我的代碼的一部分:我該如何製作一個讓玩家在我的平臺遊戲中變慢的物體?
var playerXSpeed = 7;
Player.prototype.moveX = function(step, level, keys) {
this.speed.x = 0;
if (keys.left) this.speed.x -= playerXSpeed;
if (keys.right) this.speed.x += playerXSpeed;
var motion = new Vector(this.speed.x * step, 0);
var newPos = this.pos.plus(motion);
var obstacle = level.obstacleAt(newPos, this.size);
if (obstacle)
level.playerTouched(obstacle);
else
this.pos = newPos;
};
var gravity = 34;
var jumpSpeed = 15:
var playerYSpeed = 6;
Player.prototype.moveY = function(step, level, keys) {
// Accelerate player downward (always)
this.speed.y += step * gravity;;
var motion = new Vector(0, this.speed.y * step);
var newPos = this.pos.plus(motion);
var obstacle = level.obstacleAt(newPos, this.size);
// The floor is also an obstacle -- only allow players to
// jump if they are touching some obstacle.
if (obstacle) {
level.playerTouched(obstacle);
if (keys.up && this.speed.y > 0)
this.speed.y = -jumpSpeed;
else
this.speed.y = 0;
} else {
this.pos = newPos;
}
};