var onGround=false
var jumpForce = 4;
Jump.prototype.initialize = function() {
// Define Events
this.app.keyboard.on(pc.EVENT_KEYDOWN, this.onKeyDown, this);
this.app.keyboard.on(pc.EVENT_KEYUP, this.onKeyUp, this);
this.entity.collision.on('collisionstart', this.onCollisionStart, this);
};
Jump.prototype.update = function(dt) {
// Jump
if (this.app.keyboard.wasPressed(pc.KEY_SPACE) && onGround === true) {
this.entity.rigidbody.applyImpulse(0, jumpForce, 0); // Apply Impulse
onGround = false; // Set onGround variable to false
}
};
Jump.prototype.onCollisionStart = function(result) {
// Ground Check
if (result.other.tags.has('ground')) {
onGround = true;
}
};
Hi @MATURE! The first line of the script is missing. Please compare the first line of your script with the first line of another script.
1 Like
Hi, @MATURE .
It looks like the object “Jump” is not defined in the code, or it can’t be found.
To define it, add this line at the start of your code.
var Jump = pc.createScript('jump');
2 Likes