Вторник, 23 Апреля 2024, 11:55

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Изометрия (Пару серьёзных вопросов по изометрии 2.5)
Изометрия
TroferДата: Четверг, 29 Декабря 2011, 00:27 | Сообщение # 1
частый гость
Сейчас нет на сайте
1.Мне нужно сделать хотя бы один твёрдый объект,к примеру куб размером с персонажа.
2.Огромная проблема с деревьями.
а)Ствол должен быть твёрдым со всех сторон,листва должна быть всегда проходимой.
б)Дерево А должно быть сзади дерева Б если оно ниже по оси y.

Ссылка на мой проект снизу,на игру по которой можно ориентироваться ещё ниже
Помогите пожалуйста,не могу продвинутся никак!
http://gcup.ifolder.ru/27872920
http://www.realmofthemadgod.com/
karambamanДата: Четверг, 29 Декабря 2011, 01:07 | Сообщение # 2
участник
Сейчас нет на сайте
Вот пример с деревьями(пример для пункта а):http://uafile.com.ua/get/8886/

TroferДата: Четверг, 29 Декабря 2011, 19:12 | Сообщение # 3
частый гость
Сейчас нет на сайте
Спасибо,только мне нужно остальные вопросы
azaz32824Дата: Среда, 04 Января 2012, 12:10 | Сообщение # 4
участник
Сейчас нет на сайте
сори но я в этом ни селён wink


Robin-LocksleyДата: Среда, 04 Января 2012, 14:21 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Quote (Trofer)
1.Мне нужно сделать хотя бы один твёрдый объект,к примеру куб размером с персонажа.

Для твердых обьектов есть специальная галочка в настройках обьекта. Для того, чтобы обьемные обьекты правильно себя вели в изометрическом мире есть маска обьекта. Все коллизии идут через нее.

Quote (Trofer)
а)Ствол должен быть твёрдым со всех сторон,листва должна быть всегда проходимой.

См. п. 1.
Маска должна покрывать только ствол дерева, а не все целиком.
Quote (Trofer)
б)Дерево А должно быть сзади дерева Б если оно ниже по оси y.

Проверка на у-координату. Если она больше чем у соседнего дерева - изменить глубину на -n.


GameMaker Easy Menu
TroferДата: Среда, 04 Января 2012, 14:35 | Сообщение # 6
частый гость
Сейчас нет на сайте
1.Робин,на галочку ему всё равно,он всё равно через ней проходит
2.Попробую
3.Почему на -n?

Добавлено (04.01.2012, 14:35)
---------------------------------------------
И стенки нужны гладкие
Тем более там экран поворачивается,ещё раз ссылку скину
http://www.realmofthemadgod.com/
там можно и без регистрации зайти,в настройках включить поворот экрана

Robin-LocksleyДата: Среда, 04 Января 2012, 14:42 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Quote (Trofer)
1.Робин,на галочку ему всё равно,он всё равно через ней проходит

Значит ты используешь, которая не учитывает коллизии. Или используешь свою функцию не правильно. Попробуй переписать код вдумчиво.
Quote (Trofer)
3.Почему на -n?

Потому что обьекты с меньшей глубиной находятся над обьектами с большей. Игрик координата из точки ноль идет вниз по экрану, значит обьект который стоит ниже должен иметь меньшую глубину. Имелось ввиду что из текущей глубины нужно вычесть число n, при котором глубина текущего обьекта станет меньше. Звучит запутанно, но на самом деле все просто.


GameMaker Easy Menu
TroferДата: Среда, 04 Января 2012, 14:45 | Сообщение # 8
частый гость
Сейчас нет на сайте
ну это всё понятно
только насчёт первого вопроса лучше скачай гмк
http://gcup.ifolder.ru/27872920

Добавлено (04.01.2012, 14:45)
---------------------------------------------
и ещё,какой командой можно узнать x и y объекта?

Robin-LocksleyДата: Среда, 04 Января 2012, 14:50 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
Quote (Trofer)
только насчёт первого вопроса лучше скачай гмк

Я на работе, у меня тут нет под рукой гамака :-)
Quote (Trofer)
и ещё,какой командой можно узнать x и y объекта?

Все хранится в одноименных переменных.
Чтобы вывести их на экран используй:
draw_text(x,y,string("obj_name".x))
draw_text(x,y,string("obj_name".y))
Координаты вывода подставишь какие нужно.


GameMaker Easy Menu
TroferДата: Среда, 04 Января 2012, 16:11 | Сообщение # 10
частый гость
Сейчас нет на сайте
а что такое depth=-y?
и ведь мне нужны гладкие стены
а потом,как же измерять глубину двух деревьев,Если это один объект?
Robin-LocksleyДата: Четверг, 05 Января 2012, 01:49 | Сообщение # 11
постоянный участник
Сейчас нет на сайте
Quote (Trofer)
а что такое depth=-y?

Понятия не имею, но выглядит ужасно. Если предположить, что при создании все деревья имеют одинаковую глубину, то достаточно просто вычитать единицу. Не нужно привязываться к координатам.
Quote (Trofer)
и ведь мне нужны гладкие стены

Это что-то из серии move_outside_solid() или как ее там. Читай справку, смотри примеры.
Quote (Trofer)
а потом,как же измерять глубину двух деревьев,Если это один объект?

Обьект один, инстансов много. Проделывай действия только с текущим экземпляром и все получится.

Добавлено (05.01.2012, 01:49)
---------------------------------------------
Вот тебе пример, как быть с диагональными поверхностями придумай сам, мне уже лень... да и бухой уже smile


GameMaker Easy Menu
TroferДата: Воскресенье, 08 Января 2012, 19:37 | Сообщение # 12
частый гость
Сейчас нет на сайте
ААААХАХХАХАХ)))

Добавлено (05.01.2012, 02:17)
---------------------------------------------
Всё бы работало отлично,если бы экран не крутился
Пример

Добавлено (05.01.2012, 12:26)
---------------------------------------------
да ну нахрен,сам сделаю,спасибо огромное)

Добавлено (08.01.2012, 19:37)
---------------------------------------------
Блиииииин(((((
Нет,не получается,пока экран не поворачиваю всё нормально,но если поверну хоть на градусов 10 - всё набекрень,скрипт вообще себя по идиотски ведёт....

Robin-LocksleyДата: Понедельник, 09 Января 2012, 01:14 | Сообщение # 13
постоянный участник
Сейчас нет на сайте
Естественно по-идиотски. Когда ты поворачиваешь экран, отклоняется угол, который отражает движение. Заведи какую нибудь переменную, и добавляй ее и к углу поворота экрана и к углу отклонения в move_outside_solid(). В теории должно работать, а на практике уж проверь сам. На худой конец, если для тебя это так сложно, отложи пока в сторону или вообще откажись от поворота экрана. Если честно оно очень раздражает и рябит. Аж глаза болят. Это тебе не 3д.

GameMaker Easy Menu
vicmadДата: Понедельник, 09 Января 2012, 01:42 | Сообщение # 14
постоянный участник
Сейчас нет на сайте
изометрия в гамаке с физикой - жесткий Мазахизм. Проще все писать формулами.
TroferДата: Четверг, 12 Января 2012, 23:23 | Сообщение # 15
частый гость
Сейчас нет на сайте
Какими?

Добавлено (12.01.2012, 23:23)
---------------------------------------------
я думаю буду делать другой вариант, я его тоже продумывал,но другу не очень нравиться - поворот по 90 градусов

Robin-LocksleyДата: Четверг, 12 Января 2012, 23:30 | Сообщение # 16
постоянный участник
Сейчас нет на сайте
Quote (Trofer)
поворот по 90 градусов

Это наилучший вариант, мне кажется. Еще бы поворот бал плавным, с "пролетом" камеры от угла до угла и больше ничего не нужно.


GameMaker Easy Menu
TroferДата: Пятница, 13 Января 2012, 02:41 | Сообщение # 17
частый гость
Сейчас нет на сайте
не,получиться морока с зданиями,придётся их с каждого градуса рисовать

Добавлено (13.01.2012, 02:41)
---------------------------------------------
Ага,вот и новая проблема.
Как сделать ориентир,к примеру Запад,Юг,Восток,Север?
Что бы когда я поворачивался они тоже менялись?
Не,это тупо...
Проблемо вообще то в том,что теперь при повороте опять всё начало кривить,и я знаю отчего это,но как создать эту переменную,зависящую от поворота экрана?

Robin-LocksleyДата: Пятница, 13 Января 2012, 04:17 | Сообщение # 18
постоянный участник
Сейчас нет на сайте
Давай исходник, посмотрим.

GameMaker Easy Menu
TroferДата: Пятница, 13 Января 2012, 17:12 | Сообщение # 19
частый гость
Сейчас нет на сайте
http://gcup.ifolder.ru/28094692

Добавлено (13.01.2012, 17:12)
---------------------------------------------
И ещё как сделать так,что бы он к деревьям ближе подходили?

MaleevДата: Пятница, 13 Января 2012, 17:31 | Сообщение # 20
частый гость
Сейчас нет на сайте
Quote (Robin-Locksley)
Quote (Trofer)
а что такое depth=-y?

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


Кстати depth = -y это единственный вариант правильной отрисовки объектов
в изометрии, по крайней мере в Game Maker.
Писать нужно у всех видимых объектов.


Пополнить счет.
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Изометрия (Пару серьёзных вопросов по изометрии 2.5)
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

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