IgorBee
@IgorBee
JS,VBS,3D.Web с 07.2015

В чем ошибка условия if else и почему bottom не отображается корректно?

Сайт

песочница

Почему условие не работает?
1.Если справо равно или больше координат ступеньки то гравитация отключается(=110)
2.Если нижняя часть героя на уровне ступень то только в этом случае отключаем гравитаццию

2-е условие не работает
if( heroObj.position.left+heroObj.position.right>=rockObjs.position.left && 
    heroObj.position.top+heroObj.position.bottom>=rockObjs.position.top){

	  heroObj.position.top=110;     console.log("moree") 
    
    };

Пробывал и такую конструкцию,которая должна сработать если зеленый кубик будет в пределах 700 лефт и от 200 до 280 пикс от топа,но он просто проскальзывает.
Думаю проблема в реализации моей "гравитации"
она слишком быстро обрпубает и он не успевает обработаь это условие.
if( heroObj.position.left+heroObj.position.right>=rockObjs.position.left && 
    heroObj.position.top+heroObj.position.bottom<=200 &&
    heroObj.position.top+heroObj.position.bottom<=280 /*  &&
	heroObj.position.top+heroObj.position.bottom>=rockObjs.top+rockObjs.heigh*/){
	  heroObj.position.top=120;     console.log("moree") ;
    
    }else{heroObj.position.top=250;};


и почему heroObj.position.bottom=100 а не 350 ,то есть топ + высота объекта.
у rock bottom норм рабоает


///////Управление

<-" пробел" ->
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ответы на вопрос 1
iusfof
@iusfof
Front-end developer
Вероятно потому, что на месте rockObjs.top должно быть rockObjs.position.top?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы