Impact

This forum is read only and just serves as an archive. If you have any questions, please post them on github.com/phoboslab/impact

1 decade ago by Ash_Blue

Everything has been going smooth using Impact except for one thing. I can't seem to figure out how to do a partial jump, just like in the Biolab Disaster demo. Any ideas on a simple way to pull this off? I'm pretty good at javaScript, but I'm guessing I missed something very simple here.

1 decade ago by fugufish

here's a way to do a mario-style jump (i.e tap jump softly for a normal jump, hold the key for a higher jump )


	init: function( x, y, settings ) {
		this.parent( x, y, settings );
		
		// Add the animations
		
                // jump timers
		this.jumpTimer = new ig.Timer();
		this.jumpAttackVel = -35;
		this.jumpSustainVel = -150;		
	},	

		// implement a mario based jump
 	    if( ig.input.pressed('jump') && this.standing) {
	      	this.jumpTimer.set(0);
			this.vel.y = this.jumpAttackVel;
		  
		} else if ( ig.input.state('jump') && this.jumpTimer.delta() < 0.25 ) {
	      	this.vel.y = this.jumpSustainVel;;
	    } else {
			this.accel.y = 0;
		}

1 decade ago by MikeH

I wrote a very simple way of doing it that doesn't use timers.

                // standing on the ground, jump is being pressed, and we're not already
                // moving up.
		if( this.standing && ig.input.state('jump') ) {
			if (this.vel.y == 0){
				this.vel.y = -this.jump;
				this.falling = false;
			}
		}else 
                // we're not standing, jump has been released and we're not falling
                // we reduce the y velocity by 66% and mark us as falling
                if(!this.standing && !ig.input.state('jump') && !this.falling) {
			this.vel.y = Math.floor(this.vel.y/3);
			this.falling = true;
		}

1 decade ago by Ash_Blue

Thank you guys for the help, this will help a lot.

Just wanted to add that the first example provided makes the jumps very spacey (like Mario). While the MikeH's example feels more life like. Would be awesome if your examples could be placed in the docs.

Might have to try and figure out how to integrate the first method without timers. Afraid of bloating code for mobile with them.
Page 1 of 1
« first « previous next › last »