Я создаю простую флеш игру. На данный момент я кодирую управление персонажем. Я добавил столкновения персонажей с землей и стенами, но не могу успешно добавить столкновения с потолком, персонаж прыгает через потолок. Не могли бы вы мне помочь, пожалуйста? Спасибо.
Вот часть кода, что я пробовал:
if(space){
if(myCollisionsList.checkCollisions().length > 0) {
if (hitTestPoint(hero.x + 28, hero.y, true)){
/////////////////////////////////////////////////////////////////////////////////////
//here I need to add any code for character's collision with the ceiling.
/////////////////////////////////////////////////////////////////////////////////////
Герой.y_скорость = 0; // мне это не помогает
}else{
Hero.y_speed = -jumpspeed;
}
Я создал свой список столкновений, где храню все этапы, стены для столкновений с персонажем. Этот метод работает для столкновений, когда персонаж движется вправо или влево, потому что я просто установил x_speed персонажа на «0», когда он касается стены. Но как мне остановить Его, когда я коснусь потолка? Установка y_speed персонажа на «0» мне не помогает.
Изображение объясняет, что сейчас происходит:
Hero.y_speed = 0;
должно выдавать ошибку, так как экземпляр вашего персонажа явно является героем. Используете ли вы hitTestPoint против большого displayObject с его дочерними элементами в качестве препятствий, или вы пытаетесь вызвать hitTestPoint для каждого экземпляра препятствия, хранящегося в myCollisionsList? - person Marton Pallagi   schedule 16.09.2013private var Hero:hero = new hero;
Я использую hitTestPoint для каждого экземпляра препятствия, хранящегося в myCollisionsList, потому что я не знаю, как сделать, как вы сказали, большой displayObject с его дочерними элементами, но я хотел бы использовать этот метод. - person   schedule 16.09.2013