Вращение одного объекта вместе с другим.
|
|
Интернет | Дата: Воскресенье, 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 ( ) Интернет, а спрайт игрока по центру стоит? Ну конечно, но проблема уже решена
|
|
| |