Четверг, 21 Ноября 2024, 20:08

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите с глубиной панэли!
AGENTX001Дата: Понедельник, 06 Декабря 2010, 17:35 | Сообщение # 1
почётный гцупер
Сейчас нет на сайте
Короч объясняю - у меня есть обьект панэль которая рисует жизни, кол-во патронов и т. д.
Но столкнулся с проблемой - боты по ней ходят! surprised Как эт поправить?!

Вот сама панэль!

(_Meloman_)Дата: Понедельник, 06 Декабря 2010, 17:49 | Сообщение # 2
участник
Сейчас нет на сайте
пробовал depth = -99999 поставить?

AGENTX001Дата: Понедельник, 06 Декабря 2010, 18:05 | Сообщение # 3
почётный гцупер
Сейчас нет на сайте
Мать моя мартышка surprised Сработало! Причём глубин зомби depth =1! И как эт понимать?! Глюк гамака?
LgunchikДата: Вторник, 07 Декабря 2010, 13:35 | Сообщение # 4
постоянный участник
Сейчас нет на сайте


>
TimKruzДата: Вторник, 07 Декабря 2010, 14:00 | Сообщение # 5
старожил
Сейчас нет на сайте
Вообще-то, в 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'ом.
Такая вот история...


(_Meloman_)Дата: Вторник, 07 Декабря 2010, 18:34 | Сообщение # 6
участник
Сейчас нет на сайте
ты не прав, чем меньше значение, тем выше обьект wink

AGENTX001Дата: Вторник, 07 Декабря 2010, 20:48 | Сообщение # 7
почётный гцупер
Сейчас нет на сайте
Quote
Delphi выдаёт ошибку, но в GameMaker, похоже, выключили все сообщения об ошибках

Сообщения не отключены! И -1 больше 1! Незнаю по чему wacko
ФилДата: Вторник, 07 Декабря 2010, 21:04 | Сообщение # 8
Томатный революционер
Сейчас нет на сайте
Quote
depth Отражает глубину отрисовки спрайта текущего экземпляра объекта. Вы можете изменить это значение, устанавливая глубину изображения. Значение по умолчанию - 0, если Вы не установили это в другом значении в свойствах объекта. Более высокое значение продвигает экземпляр объекта вглубь. (Вы можете также использовать отрицательные значения.) Экземпляры объекта с более высокой глубиной пролегают позади экземпляров объекта с более низкой глубиной. Установка глубины поможет Вам указать в каком именно порядке должны рисоваться спрайты (например, облака позади платформ земли). Вы можете захотеть что бы фоновые экземпляры объекта иметь высокую глубину (положительную), а экземпляры объекта переднего плана, должны иметь глубину низкого уровня (отрицательную).

TimKruz, учите матчасть и не вводите в заблуждение других.
TimKruzДата: Среда, 08 Декабря 2010, 21:54 | Сообщение # 9
старожил
Сейчас нет на сайте
Странно... Значит, я не прав. Но всё равно, какая-то логика у разработчиков неправильная: отрицательные числа у них ближе к экрану, положительные - дальше... Вообще-то такие штуки должны рассчитываться относительно оси Z, а она-то как раз к экрану в +∞ уходит, а в глубь - в минус ∞. Странно...
P.S. Извините, если кого-то ввёл в заблуждение. shy Но про сброс значений в плюс в языке программирования Delphi - это точно правда.

---------------------

Quote (Фил)
учите матчасть

Какую матчасть?! С математикой-то у меня всё в порядке, а вот GameMaker я вообще не изучаю - бесполезно изучать, т.к. к реальному программированию этот конструктор отношения никакого не имеет.


ФилДата: Четверг, 09 Декабря 2010, 10:19 | Сообщение # 10
Томатный революционер
Сейчас нет на сайте
Quote (TimKruz)
С математикой-то у меня всё в порядке

не стоит воспринимать все буквально...
TimKruz,
Quote (TimKruz)
положительные - дальше

имеется ввиду что объект как бы вдавливают внутрь сцены. И чем больше сила вдавливания (depth), тем дальше он кажется.
RandallДата: Пятница, 10 Декабря 2010, 01:33 | Сообщение # 11
участник
Сейчас нет на сайте
depth (англ.) глубина. А не высота.

Соответственно, все точно с точки зрения математики. Объект на глубине=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
АазДата: Пятница, 10 Декабря 2010, 22:09 | Сообщение # 12
уже был
Сейчас нет на сайте
Внесу свою долю. Глубина это ось Z. И тут всё становится проще и понятнее.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг