Суббота, 20 Апреля 2024, 16:46

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Scirra Construct » Как сделать так, чтобы объекты не накладывались? (Construct 2)
Как сделать так, чтобы объекты не накладывались?
ClowdДата: Пятница, 19 Июля 2013, 12:10 | Сообщение # 21
ONG studio
Сейчас нет на сайте
давно уже не работал с sc2(
Nick_RimerДата: Пятница, 19 Июля 2013, 12:24 | Сообщение # 22
заслуженный участник
Сейчас нет на сайте
Xantr, блин, всё забываю, что ты на С2.. ищи что-то похожее.

- Доброе утро, Агент Пи!
XantrДата: Пятница, 19 Июля 2013, 12:27 | Сообщение # 23
был не раз
Сейчас нет на сайте
Nick_Rimer, Я бы нашёл что-то похожее, если бы понял что это вообще)
Nick_RimerДата: Пятница, 19 Июля 2013, 12:44 | Сообщение # 24
заслуженный участник
Сейчас нет на сайте
Xantr, примерно можно сказать так, это означает, что "выполнить один раз, если истина"
т.е. если произошло какое-то событие, то действия выполнятся лишь один раз, даже если дальше событие будет выполняться. и так вплоть до момента, пока событие снова не станет ложным, а после него вновь положительным.

например, по событию "шарик достиг пола" тебе надо проиграть звук. ты проверяешь, что шар на полу, и дашь команду "играть звук", но т.к. шар остаётся на полу, то событие "шарик достиг пола" выполняется, т.к. оно истина. поэтому и надо сделать так: если событие "шарик достиг пола" - истина, один раз выполнить команду "играть звук".

в СС это выглядит примерно так:


если бы события Trigger once не было, то мои уши бы просто ахринели от барабанного соло группы слипкнот, которое бы прозвучало из колонок smile при этом неважно, какой бы файл я проиграл, играло бы барабанное соло группы слипкнот crazy


- Доброе утро, Агент Пи!

Сообщение отредактировал Nick_Rimer - Пятница, 19 Июля 2013, 12:47
XantrДата: Пятница, 19 Июля 2013, 14:05 | Сообщение # 25
был не раз
Сейчас нет на сайте
Nick_Rimer, Нашёл, но как-то ничего не изменилось..
Nick_RimerДата: Пятница, 19 Июля 2013, 14:16 | Сообщение # 26
заслуженный участник
Сейчас нет на сайте
Xantr, а какое событие ты проверяешь и как его обрабатываешь? у меня вот, как на картинке, получилось.

- Доброе утро, Агент Пи!
XantrДата: Пятница, 19 Июля 2013, 14:48 | Сообщение # 27
был не раз
Сейчас нет на сайте
Nick_RimerДата: Пятница, 19 Июля 2013, 15:05 | Сообщение # 28
заслуженный участник
Сейчас нет на сайте
Xantr, я так понимаю, это мяч? у него есть какое-то поведение? типа Ball?

- Доброе утро, Агент Пи!
XantrДата: Пятница, 19 Июля 2013, 15:34 | Сообщение # 29
был не раз
Сейчас нет на сайте
Nick_Rimer, поведение физика, collision mask - круг.
LetsOffBrainsДата: Пятница, 19 Июля 2013, 15:53 | Сообщение # 30
Project SoRDeLKa
Сейчас нет на сайте
В моем случае, мячик катится по одному объекту не издавая дополнительных звуков.
Перекатывание с одного объекта на другой, в этом проблема?





Сообщение отредактировал LetsOffBrains - Пятница, 19 Июля 2013, 15:59
Nick_RimerДата: Пятница, 19 Июля 2013, 16:08 | Сообщение # 31
заслуженный участник
Сейчас нет на сайте
Xantr, ну вот я тоже сделал мячик с Physics, маска столкновений Ellipse
мячик падает на твёрдый пол и несколько раз от него отскакивает.
и получилось по событиям так:

как видно, trigger once нам уже не нужен

Добавлено (19.07.2013, 16:08)
---------------------------------------------
мде.. сделал ща пол наклонным, пока отскакивает - всё классно.
когда катится - играет барабанное соло слипкнот.. trigger once не помогает.
надо подумать..


- Доброе утро, Агент Пи!

Сообщение отредактировал Nick_Rimer - Пятница, 19 Июля 2013, 16:05
XantrДата: Пятница, 19 Июля 2013, 16:25 | Сообщение # 32
был не раз
Сейчас нет на сайте
Nick_Rimer, вот именно с наклонной и проблема..
Nick_RimerДата: Пятница, 19 Июля 2013, 17:02 | Сообщение # 33
заслуженный участник
Сейчас нет на сайте
Xantr, я уже догадался.. и пока я что-то не понимаю, что сделать, чтобы от этого избавиться.. может ещё кто знает.. я подумаю.

Добавлено (19.07.2013, 17:02)
---------------------------------------------
я сделал вот такую хитрую штуку:

пояснения:
Physics стоит на объектах ball и bottom
у ball есть приватная переменная a
спрайт big_ball не имеет никаких поведений, только одно единственное свойство Invisible on start, этот спрайт - копия спрайта ball (цвет изменён, чтобы не спутать), только - очень важно - он на несколько пикселей больше, чем ball.
у ball - Width = Height = 82, у bigball - Width = Height = 85

что вышло - смотреть здесь
если поиграть с Width и Height спрайта bigball, можно получить разный результат, пока не получишь нужный.

это выпендрёж через задницу, но, быть может, оно сработает и поможет тебе smile


- Доброе утро, Агент Пи!

Сообщение отредактировал Nick_Rimer - Пятница, 19 Июля 2013, 17:02
XantrДата: Пятница, 19 Июля 2013, 21:20 | Сообщение # 34
был не раз
Сейчас нет на сайте
Что-то мне кажется есть способ получше biggrin
Но всё равно спасибо, попробую разобраться)

Добавлено (19.07.2013, 21:20)
---------------------------------------------
Может есть способ без доп.объектов?

Ilyko96Дата: Понедельник, 22 Июля 2013, 11:09 | Сообщение # 35
почетный гость
Сейчас нет на сайте
Xantr, можешь попробовать вот такое решение: http://rghost.ru/47584624 (действительно до 22.08.2013) - C2 - r139

Суть такая: мы немного изменяем маску коллизии по сравнению с предложенной констрактом таким образом, чтобы она была немножко шире, а затем вместо триггерного условия коллизии мы используем длительное событие перекрытия на 5px (overlap at offset), которое как бы перемещает объект на 5px ниже, проверяет коллизию и возвращается на место, ну и добавляем триггер, чтобы звук воспроизводился единожды




МОЙ КАНАЛ


Сообщение отредактировал Ilyko96 - Понедельник, 22 Июля 2013, 11:09
Nick_RimerДата: Понедельник, 22 Июля 2013, 11:12 | Сообщение # 36
заслуженный участник
Сейчас нет на сайте
Ilyko96, кстати, хорошее решение! smile
в общем принципе то же, что и у меня, но только вместо второго спрайта - расширенная маска коллизии smile


- Доброе утро, Агент Пи!
XantrДата: Понедельник, 22 Июля 2013, 11:35 | Сообщение # 37
был не раз
Сейчас нет на сайте
Цитата (Ilyko96)
немного изменяем маску коллизии по сравнению с предложенной констрактом таким образом, чтобы она была немножко шире

не понял blink
Nick_RimerДата: Понедельник, 22 Июля 2013, 11:44 | Сообщение # 38
заслуженный участник
Сейчас нет на сайте
Xantr, в поведении Physics можно поставить маску Custom, чуть ниже этого свойства есть свойство Custom Collision, у него надо нажать Edit. А там в редакторе точками делай свою маску, как тебе будет угодно. потренируйся.


- Доброе утро, Агент Пи!

Сообщение отредактировал Nick_Rimer - Понедельник, 22 Июля 2013, 11:46
XantrДата: Понедельник, 22 Июля 2013, 11:48 | Сообщение # 39
был не раз
Сейчас нет на сайте
Nick_Rimer, есть Use collision polygon, circle и bounding box.
Nick_RimerДата: Понедельник, 22 Июля 2013, 11:54 | Сообщение # 40
заслуженный участник
Сейчас нет на сайте
Xantr, фак-фак-фак, когда я уже запомню, что ты про С2 задаёшь вопрос?! сейчас установлю и посмотрю, как это делается там. возможно, отвечу после обеда, если никто не опередит меня раньше.. прости. постоянно я забываю о С2..

- Доброе утро, Агент Пи!
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Scirra Construct » Как сделать так, чтобы объекты не накладывались? (Construct 2)
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

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