Thank for the help!
Advertising
//make variables to store key states
var kUp = false;
var kDown = false;
var kLef = false;
var kRight = false;
Code: Select all
import flash.events.KeyboardEvent;
import flash.events.Event;
//some variables to track the player's speed
var speedX=0;
var speedY=0;
//loop through all platform objects to generate a level
var level:Array = new Array();
for (var i=0; i<numChildren; i++)
{
if (getChildAt(i) is PLatform)
{
level.push(getChildAt(i).getRect(this));
}
}
//make variables to store key states
var kUp = false;
var kDown = false;
var kLeft = false;
var kRight = false;
//listen for key presses and releases
stage.addEventListener(KeyboardEvent.KEY_DOWN, kD);
stage.addEventListener(KeyboardEvent.KEY_DOWN, kU);
function kD(k:KeyboardEvent)
{
if (k.keyCode == 37) kLeft=true;
if (k.keyCode == 38) kUp=true;
if (k.keyCode == 39) kRight=true;
if (k.keyCode == 40) kDown=true;
}
function kU(k:KeyboardEvent)
{
if (k.keyCode == 37) kLeft=false;
if (k.keyCode == 38) kUp=false;
if (k.keyCode == 39) kRight=false;
if (k.keyCode == 40) kDown=false;
}
//make a looping function
addEventListener(Event.ENTER_FRAME, loop);
function loop(e:Event)
{
//lateral movement checks
if (kLeft)
{
speedX=-10;
}
else if (kRight)
{
speedX=10;
}
else
{
speedX*=0.5; //friction
}
//move player based on the above
Animation.x+=speedX;
//sidewards hit tests
for(i=0; i<level.length; i++)
{
if (Animation.getRect(this).intersects(level[i]))
{
if (speedX > 0) //moving right
{
Animation.x = level[i].left - Animation.width/2;
}
if (speedX < 0) //moving left
{
Animation.x = level[i].right + Animation.width/2;
}
speedX; //kill the speed
}
}
}
//vertical checks
speedY+=1;
Animation.y+speedY;
var jumpable=false;
//hit tests
for (i=0; i<level.length; i++)
{
if (Animation.getRect(this).intersects(level[i]))
{
if (speedY>0) //moving down
{
Animation.y=level[i].top-Animation.height/2;
speedY=0
jumpable=true;
}
if (speedY<0) //moving up
{
Animation.y=level[i].bottom+Animation.height/2;
speedY*=-0.5; //bounce off the ceiling
}
speedX=0;
}
}
if (kUp && jumpable) //jump if possible
{
speedY=-15
}
anon wrote:If you can't trust a 600 year old vampire in a prepubescent girl's body, who can you trust?
fate6 wrote:but next time please put such big posts in spoilers, this includes your second post BTW
Code: Select all
tags are better. *edits second post*