Короч объясняю - у меня есть обьект панэль которая рисует жизни, кол-во патронов и т. д. Но столкнулся с проблемой - боты по ней ходят! Как эт поправить?!
Вообще-то, в GameMaker (да и в других двигах/конструктах) глубина рассчитывается так: чем больше значение, тем "выше" находится объект. Т.е. "-99" ниже "1". Поэтому происходило наложение объекта с глубиной "1" на "-99". Т.е. Лучше поставить эдак 100 или 1000 (если много слоёв, а так можно 10 обойтись). Но, спросите вы, почему проблема решилась при значении глубины -99999?! Объясняю. GameMaker сделан на Delphi (по крайней мере, с 1-ой по 8-ю версии, 9-ю вроде бы обещают сделать на C++), а у Delphi такая фигня: если попытаться записать в переменную значение, которое ниже минимального значения для этого типа переменной, то происходит как бэ-э... ну, короче, вот пример: имеем переменную типа -10..10, в неё заносим число -11. Что же получаем? А получаем 10! Тоже и обратно: в переменную того же типа вносим число 11, получаем -10. В общем, в GameMaker, по всей видимости, стоит сильное ограничение на параметр глубины (скажем, -1000..1000, хотя точно не знаю), следовательно, значение -99999 выходит за рамки допустимого. Получается какое-то положительное число, намного больше 1. Вот и всё.
P.S. Ограничение на глубину - для экономии памяти. При попытки присвоить переменной большее/меньшее значение её допустимого диапазона, Delphi выдаёт ошибку, но в GameMaker, похоже, выключили все сообщения об ошибках, однако не все они обрабатываются GameMaker'ом. Такая вот история...
depth Отражает глубину отрисовки спрайта текущего экземпляра объекта. Вы можете изменить это значение, устанавливая глубину изображения. Значение по умолчанию - 0, если Вы не установили это в другом значении в свойствах объекта. Более высокое значение продвигает экземпляр объекта вглубь. (Вы можете также использовать отрицательные значения.) Экземпляры объекта с более высокой глубиной пролегают позади экземпляров объекта с более низкой глубиной. Установка глубины поможет Вам указать в каком именно порядке должны рисоваться спрайты (например, облака позади платформ земли). Вы можете захотеть что бы фоновые экземпляры объекта иметь высокую глубину (положительную), а экземпляры объекта переднего плана, должны иметь глубину низкого уровня (отрицательную).
TimKruz, учите матчасть и не вводите в заблуждение других.
Странно... Значит, я не прав. Но всё равно, какая-то логика у разработчиков неправильная: отрицательные числа у них ближе к экрану, положительные - дальше... Вообще-то такие штуки должны рассчитываться относительно оси Z, а она-то как раз к экрану в +∞ уходит, а в глубь - в минус ∞. Странно... P.S. Извините, если кого-то ввёл в заблуждение. Но про сброс значений в плюс в языке программирования Delphi - это точно правда.
---------------------
Quote (Фил)
учите матчасть
Какую матчасть?! С математикой-то у меня всё в порядке, а вот GameMaker я вообще не изучаю - бесполезно изучать, т.к. к реальному программированию этот конструктор отношения никакого не имеет.
Соответственно, все точно с точки зрения математики. Объект на глубине=1м явно ниже, чем объект на глубине=-1м, то есть над поверхностью, скажем, воды.
Программеры - ребята прямолинейные, на вещи смотрят именно так, как они называются. Поэтому все и логично.
Добавлено (10.12.2010, 01:33) --------------------------------------------- depth (англ.) глубина. А не высота.
Соответственно, все точно с точки зрения математики. Объект на глубине=1м явно ниже, чем объект на глубине=-1м, то есть над поверхностью, скажем, воды.
Программеры - ребята прямолинейные, на вещи смотрят именно так, как они называются. Поэтому все и логично.
1. Adventure Mouse - мини-аркада про мыш и его друга сыр 2. Герои Реконструкции и Страйкбола - тематическая пошаговая стратегия 3. Dangerous Dave 5: Fansequel - трибьют на Dangerous Dave Всё здесь http://zvizdez.ru/download.php?list.1