Понедельник, 02 Декабря 2024, 06:09

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Найти свободное место чтобы выйти из машины.
михаДата: Вторник, 18 Октября 2011, 15:46 | Сообщение # 1
почти ветеран
Сейчас нет на сайте
В общем мне нужно чтобы игрок не мог выходить из транспортного средства внутрь твердых объектов. То есть надо просмотреть для нахождения места все вокруг. Для инфы:
- Маска транспортного средства не квадратная, а это значит, что герой при выходе из машины встать на транспортное ---- средство, надо чтобы этого бага не было.
- Размер игрока примерно 40 на 40.

Тому, кто поможет безоговорочный +.
VinchensooДата: Вторник, 18 Октября 2011, 15:52 | Сообщение # 2
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Самый простой способ- при попытке выхода создать невидимый объект справа и слева и посмотреть, есть ли коллизия с чем-то другим. Если нет -> можно выйти.

MyDreamForeverДата: Вторник, 18 Октября 2011, 16:08 | Сообщение # 3
StrateG
Сейчас нет на сайте
в машину при попытке выхода.

if(distance_to_object(ob_block_stena)>100)
{
выходит
}
esle
{
не выходит
}
FadeBakerДата: Вторник, 18 Октября 2011, 17:32 | Сообщение # 4
JavaSE Game Developer
Сейчас нет на сайте
миха, попробуй написать это в событие выхода из машины:
Code
for(i = 0; i < 90; i += 1)
{
xn = car.x + lengthdir_x(car.sprite_width/2, car.direction+i);
yn = car.y + lengthdir_y(car.sprite_width/2, car.direction+i);
if place_free(xn, yn) {in_car = false; x = xn; y = yn; exit;}
xn = car.x + lengthdir_x(car.sprite_width/2, car.direction-i);
yn = car.y + lengthdir_y(car.sprite_width/2, car.direction-i);
if place_free(xn, yn) {in_car = false; x = xn; y = yn; exit;}
}

Пометки:
car - машина, в которой ты в данный момент находишься.
in_car - переменная, отвечающая за то, находится игрок в машине или нет.


Уроки по GM
Minecraft 2D на GM
— Мои проекты —
Blood Harvest [2D] — Original
Blood Harvest [2D]: Remastered Edition
Adventure Craft [2D] — Sandbox
Space Shock [2D] — Scroll Shooter
Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.


Сообщение отредактировал vasyan555 - Вторник, 18 Октября 2011, 17:35
LunarPixelДата: Вторник, 18 Октября 2011, 17:35 | Сообщение # 5
старожил
Сейчас нет на сайте
Deniiel, а если стена спереди, а не сбоку?!
Можно через position_meeting проверить есть ли препятствие по бокам относительно машины smile


михаДата: Вторник, 18 Октября 2011, 19:36 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
Да + ко всему надо не только проверить но и встать). Может объяснил не точно, извините.
ZizilkДата: Вторник, 18 Октября 2011, 20:29 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Я хз как в геймейкере это реализовать, как сказал винченсо справа и слева два невидимых объекта в районе дверей, при регистрации колизии с ними там получаем стену. Если стена мешается справа то выходим налево, если слева то выходим направо. Если с обоих то не выходем. При выходе тупо спавним ггг в центр каждого невидимого объекта
  • Страница 1 из 1
  • 1
Поиск:

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