Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Скольжение по стенам (http://www.flasher.ru/forum/showthread.php?t=139315)

HellPix 28.04.2010 02:59

Скольжение по стенам
 
Есть такой код движения
Код AS3:

if ( downKeyIsBeingPressed )
        {
        if (player.hitTestObject(wall))
        {
                player.y=player.y
        }
        else
        {
                player.y=player.y+4;
        }
        }
if ( leftKeyIsBeingPressed )
        {
        if (player.hitTestObject(wall))
        {
                player.x=player.x
        }
        else
        {
                player.x=player.x-4;
        }

И естественно объект застревает, подходя к стене, есть еще код без hitTestObject(), но все равно застревает, как избавиться от этого? что бы он как бы скользил?

VVall 28.04.2010 03:11

Что вы ожидаете от кода player.y=player.y ?

Если столкновение обнаружено, надо не оставлять объект в стене, а вытолкнуть назад, хотя-бы в предыдущее положение.

HellPix 28.04.2010 09:08

тогда он слишком дерганный получается

medvedya2 28.04.2010 10:39

по циклу в обе стороны с шагом например 5 градусов проверяй куда можно пройти.
Код AS3:

цикл{
nextposX = this.x - Math.cos(угол / 180 * Math.PI) * speed;
nextposY = this.y - Math.sin(угол  / 180 * Math.PI ) * speed;
if ( неПересекаюсьСоСтеной(nextposX,nextposY) )
{
перемещаю туда обьект;
break;
}
}


KiL33 28.04.2010 11:12

http://www.flasher.ru/forum/showthre...=138682&page=2
15 пост


Часовой пояс GMT +4, время: 22:27.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.