2014-12-11 3 views
0

Я делаю 2D-платформерную игру, и я пытаюсь добавить коллизии на платформы, чтобы, когда персонаж попадает в нее, он не может пройти. Я пытаюсь найти синтаксис для создания этого столкновения. Пока это то, что у меня есть.Actionscript3 Простое замедление столкновения платформы

Также мне бы хотелось использовать hitTestObject в инструкции if.

благодаря

public function platform1Collision():void 
    { 
     if (fireboy1.hitTestObject(Platform1)) 
     { 
      //fireboy1 cannot pass through 

     } 
    } 

ответ

0

Вы, вероятно, хотите, чтобы предотвратить 'y свойство s от расширения прошлого Platform1' s fireboy1y свойство:

function platform1Collision():void 
{ 
    if(fireboy1.hitTestObject(Platform1)) 
    { 
     if(fireboy1.y > Platform1.y) 
     { 
      fireboy1.y = Platform1.y + Platform1.height; 
     } 
     else 
     { 
      fireboy1.y = Platform1.y - fireboy1.height; 
     } 
    } 
} 

Примечание: Приведенный выше пример кода предполагается сверху левая ориентация как для fireboy1, так и для Platform1.

EDITED: выше отредактированный код позволит fireboy1 ходить под Platform1, но не проходит через него.

Это очень простой пример, который даст вам представление о типе логики, которую вы можете использовать. Если вы хотите разрешить fireboy1 пройти через Platform1 снизу, вам нужно будет обновить логику, чтобы это разрешить. Например, если вы вытащите if/else и просто автоматически разместите fireboy1 выше Platform1 каждый раз, когда они сталкиваются, он будет выглядеть так, как если бы player1 прыгает на Platform1, когда к нему приближаются снизу.

+0

Это не сработает, если я хочу вернуться обратно под позицию Platform1. –

+0

Также я хочу, чтобы он все еще использовал hitTestObject –

+0

Существует много способов сделать это (вероятно, почему кто-то уже голосовал за закрытие этого вопроса из-за того, что он «слишком широк»). Я считаю, что теперь я дал вам более чем достаточно, чтобы продолжить. Если вы все еще боретесь, отправьте больше кода, который вы уже сделали. – Marcela

Смежные вопросы