Четверг, 18 Апреля 2024, 21:11

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Вращение одного объекта вместе с другим.
Вращение одного объекта вместе с другим.
ИнтернетДата: Воскресенье, 11 Октября 2015, 16:40 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Есть два предмета, 1-ый вращается (игрок), 2-ой оружие, так вот если просто привязать (х и у) оружия к игроку и задать ему image_angle=point_direction(x,y,игрок.x,игрок.y) то при вращении игрока оружие будет не в одной точке (руки например), а смещатся. Как сделать чтобы оружие при вращении вместе с игроком находилось в одной точке. (отрисовка тоже не помогает)
vampir0305Дата: Воскресенье, 11 Октября 2015, 18:36 | Сообщение # 2
Unity C# Programmer
Сейчас нет на сайте
Нужно код для второго объекта в End Step вставлять.

Красочная сюжетно-ориентированная игра-головоломка
ИнтернетДата: Среда, 14 Октября 2015, 19:44 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Цитата vampir0305 ()
Нужно код для второго объекта в End Step вставлять.

Нет это не помогает, вот например есть квадрат отметим на нём красную точку, привяжем к этому квадрату палку, так вот палка должна находится всегда в этой точке даже при вращении квадрата (точка же не является серединой квадрата) у меня получается, что палка при вращении квадрата крутится в одной точке на объекте, то есть координаты х и у должны меняться взависимости от координаты точки на квадрате, но как это сделать?
ЛеонидДата: Среда, 14 Октября 2015, 20:42 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
В Шаге у оружия:
Код
x=игрок.x+lengthdir_x(*расстояние от центра игрока до центра оружия*, игрок.image_angle)

Аналогично с y.
lengthdir_x(len,dir) возвращает длину горизонтального компонента вектора длины len, направленного под углом dir. Опять, аналогично с y. Возможно, станет понятнее по картинке из официальной справки. Довольно просто, разве что придется повозиться с отладкой угла и длины вектора.
Если не получится с этим, можно через sin и cos.


Сообщение отредактировал Леонид - Среда, 14 Октября 2015, 20:43
ИнтернетДата: Среда, 14 Октября 2015, 20:57 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Цитата Леонид ()
x=игрок.x+lengthdir_x(*расстояние от центра игрока до центра оружия*, игрок.image_angle)

Ок помогло, я как раз думал о этой функции только я писал lengthdir_x(20,direction)
ЛеонидДата: Среда, 14 Октября 2015, 21:18 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Цитата Интернет ()
direction

direction возвращает направление движения (если оно не задается через прямое изменение координат, как как раз в этом случае с оружием), а тебе нужен угол поворота спрайта.
vampir0305Дата: Четверг, 15 Октября 2015, 13:03 | Сообщение # 7
Unity C# Programmer
Сейчас нет на сайте
Интернет, а спрайт игрока по центру стоит?

Красочная сюжетно-ориентированная игра-головоломка
ИнтернетДата: Четверг, 15 Октября 2015, 16:54 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Цитата vampir0305 ()
Интернет, а спрайт игрока по центру стоит?

Ну конечно, но проблема уже решена
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Вращение одного объекта вместе с другим.
  • Страница 1 из 1
  • 1
Поиск:

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