Воскресенье, 24 Ноября 2024, 06:27

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Проблема с привязкой объекта к объекту.
GoldAppleДата: Вторник, 24 Марта 2015, 15:36 | Сообщение # 1
частый гость
Сейчас нет на сайте
У меня есть 3 объекта, это: obj_hand_rg, obj_hand_lt,obj_player. Первые 2 это руки, правая и левая, 3-й это сам персонаж.
Вопрос: как прикрепить руки к персонажу?
Я в step прописал это:
Код

x=obj_player.x+35
y=obj_player.y+7
image_angle= obj_player.image_angle



У меня игра, вид сверху.


Сообщение отредактировал GoldApple - Среда, 25 Марта 2015, 08:41
vampir0305Дата: Вторник, 24 Марта 2015, 17:56 | Сообщение # 2
Unity C# Programmer
Сейчас нет на сайте
Легко, в Create Игрока пиши:
Код
instance_create(x,y,obj_hand_rg)
instance_create(x,y,obj_hand_lt)

в Step левой руки пиши:
Код
if instance_exists(obj_player) = 1
{
       x = obj_player.x;
       y = obj_player.y;
       move_towards_point(mouse_x,mouse_y,0)
       image_angle=direction
}

if mouse_x < x
{
       image_yscale = -1
}
else
{
       image_yscale = 1
}

В Step правой руки тоже самое.(Кстати обычно делают одну руку)

И ещё в объекте левой руки поставь глубину 1
А в объекте правой руки глубину -1

Ещё в спрайте игрока нажми кнопку "по центру" и измени значения так, чтобы крестик стоял примерно вместе крепления руки(в месте плеча)
А в спрайте руки нажми кнопку "по центру" и измени значения так, чтобы крестик стоял в месте где будет точка поворота руки, то есть не по середине, а где-то левее середины руки.(также вместе плеча)


Красочная сюжетно-ориентированная игра-головоломка

Сообщение отредактировал vampir0305 - Вторник, 24 Марта 2015, 18:01
aFriendДата: Среда, 25 Марта 2015, 00:00 | Сообщение # 3
участник
Сейчас нет на сайте
GoldApple,
Цитата aFriend ()
lengthdir_*
GoldAppleДата: Среда, 25 Марта 2015, 09:19 | Сообщение # 4
частый гость
Сейчас нет на сайте
У меня игра, вид сверху.
Цитата
Легко, в Create Игрока пиши:
Код
instance_create(x,y,obj_hand_rg)
instance_create(x,y,obj_hand_lt)

в Step левой руки пиши:
Код
if instance_exists(obj_player) = 1
{
x = obj_player.x;
y = obj_player.y;
move_towards_point(mouse_x,mouse_y,0)
image_angle=direction
}

if mouse_x < x
{
image_yscale = -1
}
else
{
image_yscale = 1
}

В Step правой руки тоже самое.(Кстати обычно делают одну руку)

И ещё в объекте левой руки поставь глубину 1
А в объекте правой руки глубину -1

Ещё в спрайте игрока нажми кнопку "по центру" и измени значения так, чтобы крестик стоял примерно вместе крепления руки(в месте плеча)
А в спрайте руки нажми кнопку "по центру" и измени значения так, чтобы крестик стоял в месте где будет точка поворота руки, то есть не по середине, а где-то левее середины руки.(также вместе плеча)


тут не получается.
vampir0305Дата: Среда, 25 Марта 2015, 10:24 | Сообщение # 5
Unity C# Programmer
Сейчас нет на сайте
а зачем тебе делать отдельно две руки, когда можно просто спрайт нарисовать с вытянутыми руками и всё. Если нужно чтобы руки опускались когда игрок не стреляет просто меняешь в нужный момент спрайт и всё.
А чтобы игрок поворачивался за мышкой вот код:
Код

image_angle=point_direction(obj_player.x,obj_player.y,mouse_x,mouse_y) // отвечает за поворот игрока за мышью

if keyboard_check(ord('A')) {x-=6} // перемещение игрока на 6 пикселей влево
if keyboard_check(ord('D')) {x+=6} // перемещение игрока на 6 пикселей вправо
if keyboard_check(ord('W')){y-=6} // перемещение игрока на 6 пикселей вверх
if keyboard_check(ord('S')) {y+=6} // перемещение игрока на 6 пикселей вниз


Красочная сюжетно-ориентированная игра-головоломка
  • Страница 1 из 1
  • 1
Поиск:

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