Четверг, 25 Апреля 2024, 17:46

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Проблема с действием (движением) объекта!!!
Проблема с действием (движением) объекта!!!
123dima321Дата: Вторник, 21 Августа 2012, 17:52 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Всем привет! Помогите, кто как сможет!!!

У меня объекты 32х32
ПЕРВЫЙ объект при столкновении со ВТОРЫМ объектом делает действие (движется в нужном направлении)...

Как мне сделать что-бы ПЕРВЫЙ объект вошел полностью во ВТОРОЙ объект (слился), и только тогда начал делать действие (двигаться в нужном направлении)???

И чтоб было неважно с какой стороны войдет ПЕРВЫЙ объект во ВТОРОЙ объект, ДЕЙСТВИЕ ДОЛЖНО ВЫПОЛНЯТСЯ ОДНО (двигаться в одну сторону)!!!




Сообщение отредактировал 123dima321 - Вторник, 21 Августа 2012, 18:29
lokinamДата: Вторник, 21 Августа 2012, 18:23 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
123dima321, убери твёрдость тогда он будет входит в объект.
JerichoДата: Вторник, 21 Августа 2012, 18:26 | Сообщение # 3
Ubuntu 11.10 user
Сейчас нет на сайте
lokinam, Ты так и не понял вопроса, он не про вход говорит, а про действие после полного входа.

Уютненькая страничка Ерихона

xxx: Так вы представляете, у него там фрагмент кода в 15 строк повторяется 37 раз. Если вынести в функцию можно сэкономить полтыщи строк!
yyy: это припев.
© Антон Антоненко
GameMixДата: Вторник, 21 Августа 2012, 18:30 | Сообщение # 4
старожил
Сейчас нет на сайте
123dima321, для начала отцентрируй спрайты этих объектов, затем выполняй в объекте круга следующее:
В Create:
Code
move_up = false; // движение вверх - отключено

В событии столкновения с прямоугольником:
Code
if !move_up // если вверх ещё не шёл
     {
     if (x = other.x) * (y = other.y ) or (abs(y-other.y) < speed) * (abs(x-other.x) < speed) // проверяем близость к центру квадрата
       {
       move_up = true; // идём вверх - проверку больше не выполняем
       direction = 90; // меняем направление - вверх
       }
     }


Добавлено:
На небольших скоростях лучше использовать вместо speed - speed/2, это для исходных направлений круга не равных 0, 90, 180, 270. Так круг будет точнее приближаться к центру smile


Steel Standoff - 2D аркада.
Мои статьи


Сообщение отредактировал GameMix - Вторник, 21 Августа 2012, 18:36
123dima321Дата: Вторник, 21 Августа 2012, 18:41 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Спасибо большое!!!
Все получилось!!!
smile smile smile smile smile smile
Shevron_7Дата: Суббота, 25 Августа 2012, 14:09 | Сообщение # 6
маньяк-бомбист
Сейчас нет на сайте
Может поздно, но можно было сделать так:

в степ ПЕРВОГО объекта
Code

if place_meeting(x,y,ВТОРОЙ объект)
{//Тут движение}

Добавлено (25.08.2012, 14:09)
---------------------------------------------
Это при условии что выравнивание координат в первого и второго объекта одинаковые.


TEST =>
Мои игры:
Kill your brain
Space Conflict
Zombie Day
Bounce PC
Extra ball 2012

Это спасибо в карман не положишь, а в репутацию можно. +1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Проблема с действием (движением) объекта!!!
  • Страница 1 из 1
  • 1
Поиск:

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