Обнаружение столкновений для полов и вещей на самом деле отличается от хитов в идее, которая должна постоянно видеть, что объекты касаются друг друга. Попробуй что-нибудь подобное!
//loop through all the platform objects to generate the level
var level:Array = new Array();
for (var i=0; i<numChildren; i++)
{
if (getChildAt(i) is platform)
{
level.push(getChildAt(i).getRect(this));
}
}
for (i=0; i<level.length; i++)
{
if (player.getRect(this).intersects(level[i]))
{
if (speedX > 0) ////moving right collision and stuffs
{
player.x = level[i].left-player.width/2;
}
if (speedX < 0) ////moving left collision and stuffs
{
player.x = level[i].right+player.width/2;
}
speedX = 0 //kills the speed
}
}
SpeedX является скорость, при которой персонажи перемещаются по горизонтали, и «платформа» это имя переменной, которую вы используете, как скалы. Кроме того, «игрок» может быть заменен тем, что вы вызываете на своем объекте, который идет на выступ. Так я сделал это на одном из моих компьютерных классов :) Надеюсь, что это поможет!