Platypus2008
06-27-2009, 03:43 PM
I have this platform game engine and for some reason when the character lands on the second platform, the ground starts to wobble. Anyone know what is going on? I have attatched the engine.
Platypus2008
06-27-2009, 03:50 PM
Attatchment didn't upload. Here is the code.
var grav:Number = 0;
var speed:Number = 5;
var jumpHeight:Number = 15;
var setspeed:Number = speed;
var scale:Number = scaleX;
var ex:Number = 2;
var rightPressed:Boolean = false;
var leftPressed:Boolean = false;
var upPressed:Boolean = false;
// makes hitTests better, change for a closer hitTest (warning, more buggy if smalle, less real if further)
player.gotoAndStop(2);
stage.addEventListener(Event.ENTER_FRAME, enterFrame);
function enterFrame(event:Event):void {
while (ground.hitTestPoint(player.x, player.y, true)) {
grav = 0;
ground.y++;
}
grav++;
ground.y -= grav;
if (rightPressed)
{player.x += speed;
if (ground.hitTestPoint(player.x, player.y+3, true)) {
player.gotoAndStop(1);
} else {
player.gotoAndStop(2);
}};
if (leftPressed)
{player.x -= speed;
if (ground.hitTestPoint(player.x, player.y+3, true)) {
player.gotoAndStop(1);
} else {
player.gotoAndStop(2);
}};
if (upPressed)
{if (ground.hitTestPoint(player.x, player.y+3, true))
{grav = -jumpHeight;
player.y -= 4;
player.gotoAndStop(2)}};
if (ground.hitTestPoint(player.x+(player.width/2)+ex, player.y-(player.height/2), true) || ground.hitTestPoint(player.x+(player.width/2)+ex, player.y-(player.height/6), true) || ground.hitTestPoint(player.x+(player.width/2)+ex, player.y-player.height, true)) {
player.x -= speed;
}
if (ground.hitTestPoint(player.x-(player.width/2)-ex, player.y-(player.height/2), true) || ground.hitTestPoint(player.x-(player.width/2)-ex, player.y-(player.height/6), true) || ground.hitTestPoint(player.x-(player.width/2)-ex, player.y-player.height, true)) {
player.x += speed;
}
if (ground.hitTestPoint(player.x, player.y-player.height-15, true)) {
grav = 1;
}
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownListener, false, 0, true);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpListener, false, 0 , true);
function keyDownListener(event:KeyboardEvent):void
{
if(event.keyCode == Keyboard.UP)
{
upPressed = true;
}
if(event.keyCode == Keyboard.LEFT)
{
leftPressed = true;
}
if(event.keyCode == Keyboard.RIGHT)
{
rightPressed = true;
}
if(leftPressed && rightPressed)
{
}
}
function keyUpListener(event:KeyboardEvent):void
{
if(event.keyCode == Keyboard.LEFT)
{
leftPressed = false;
}
if(event.keyCode == Keyboard.RIGHT)
{
rightPressed = false;
}
if(event.keyCode == Keyboard.UP)
{
upPressed = false;
}
}
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.