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

В чём ошибка условия if else в игре?

Лучше уменьшить размер экрана чтобы все полотно было видно.

По задумке:

1.Если объект не на камне то включается гравитация и он вниз падает.
на деле выходит что если нажать на пробел и прыгнуть то он зависает в воздухе а возле камня наоборот падает.

setInterval(function upDate(){                       ///ОБНОВЛЯЕМ ФУНКЦИИ И КОРДИНАТЫ
gravityIF=null;
    gamerCoord(); 	rockCoord();  //ОБНОВЛЯЕМ КООРДИНАТЫ КАМНЯ И ИГРОКА

    if (gamerObj.left>=rockObj.left && gamerObj.right<=rockObj.right ){   //ОБНАРУЖЕНИЕ СМЕШЕНИЯ ОБЪЕКТА под камнем
     
        console.log("пересекаемся"); gamer.style.top="-115px";

       return gravityIF=false;

     }
     else{        return gravityIF= true;       };

    gravityGamer(); //Вызываем функцию прыжка


},500);


function gravityGamer(){
	if((gamerObj.bottom<450)&&(gravityIF==true )){
		console.log("heyy");
		playerJump-=115;

		
		gamer.style.top="-115px";


		
	};
};

linewire.ru/t/Mario_game/Mario_game.html
2uhFZJQ.png
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Бегло взглянув на код могу сказать, что эта строчкаgravityGamer(); //Вызываем функцию прыжканикогда не выполняется, так как в обоих ветках условия срабатывает return
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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