Среда, 13 Ноября 2024, 12:06

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Вопросы по Game Maker.
SaNiK3DДата: Понедельник, 24 Января 2011, 19:20 | Сообщение # 1
был не раз
Сейчас нет на сайте
Уважаемые игроделы! Помогите с относительными координатами. Не могу понять, как сделать создание объекта относительно другово в коде! cry Буду очень признателен
LunarPixelДата: Понедельник, 24 Января 2011, 19:27 | Сообщение # 2
старожил
Сейчас нет на сайте
Допустим есть у тебя Object1 и Object2.
если тебе нужно создать Object1 относительно Object2, то пишешь следующее:
Code
instance_create(Object2.x+50,Object2.y,Object1);

Этот код создаст Object1, смещенный вправо на 50, относительно Object2.


SaNiK3DДата: Понедельник, 24 Января 2011, 19:34 | Сообщение # 3
был не раз
Сейчас нет на сайте
Спасибо! Вроде понял)
Вот еще вопрос назрел. Если мне нужно, чтобы Объект1 создавался только тогда, когда слева или справа от Объекта2 находился Объект3?


Сообщение отредактировал SaNiK3D - Понедельник, 24 Января 2011, 19:40
BaHu3aTopДата: Понедельник, 24 Января 2011, 19:51 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
С помощью
Code
distance_to_object(объект)<50
//50 это расстояние




Сообщение отредактировал BaHu3aTop - Понедельник, 24 Января 2011, 19:51
SaNiK3DДата: Понедельник, 24 Января 2011, 19:58 | Сообщение # 5
был не раз
Сейчас нет на сайте
BaHu3aTop.А это будет действовать только влево и вправо?(это важно)
LunarPixelДата: Понедельник, 24 Января 2011, 20:06 | Сообщение # 6
старожил
Сейчас нет на сайте
Code
if position_meeting(Object2.x-50,Object2.y,Object3)
{
instance_create(Object2.x+50,Object2.y,Object1);
}

Если Object3 находится слева на 50 относительно Object2, то создается Object1 справа на 50, относительно Object2.

Добавлено (24.01.2011, 20:06)
---------------------------------------------
Код BaHu3aTop буде действовать, если объект находится на расстоянии 50 в любую сторону от другого объекта.


SaNiK3DДата: Понедельник, 24 Января 2011, 22:54 | Сообщение # 7
был не раз
Сейчас нет на сайте
Этот код действует, если объект находится в данной точке. А как сделать, чтобы объект создавался и при приближении к объекту-создателю? surprised
LunarPixelДата: Вторник, 25 Января 2011, 09:41 | Сообщение # 8
старожил
Сейчас нет на сайте
Что значит при приближении? Ну приближается он, приближается, все равно ведь объект создастся только когда тот кто приближается будет в соответствующей точке находится. Просто расчитай все так, чтобы при приближении объект в нужную точку попал.

MyDreamForeverДата: Вторник, 25 Января 2011, 10:20 | Сообщение # 9
StrateG
Сейчас нет на сайте
Можешь сделать невидимый спрайт который будет уходить от объекта влево на 50 пикселей,
и привяжешь его.
Извини но ничего умнее на ум не пришло. biggrin
Dva_KotaДата: Вторник, 25 Января 2011, 11:04 | Сообщение # 10
заслуженный участник
Сейчас нет на сайте
Все на много проще - нужно сравнивать x:

Code
if Object2.x-Object3.x>0//это когда Object3 находится слева
{
instance_create(Object2.x+50,Object2.y,Object1);
}

Code
if Object2.x-Object3.x<0//это когда Object3 находится справа
{
instance_create(Object2.x+50,Object2.y,Object1);
}


Новый пример инвентаря! /20.06.2012/

Energy Wars
SaNiK3DДата: Среда, 26 Января 2011, 22:21 | Сообщение # 11
был не раз
Сейчас нет на сайте
Dva_Kota, спасибо за код, помог. Но только возникла еще одна проблемка. Так как данный объект в комнате не один, создает объекты только один из них. wacko
GameMixДата: Четверг, 27 Января 2011, 08:29 | Сообщение # 12
старожил
Сейчас нет на сайте
Quote (SaNiK3D)
Но только возникла еще одна проблемка. Так как данный объект в комнате не один, создает объекты только один из них

В каком-нибудь событии объекта (около которого будешь создавать объект) (например, "нажатие левой кнопки мыши") напиши такой код:

Code
instance_create(id.x,id.y+50,object2);

В этом случае объект будет создаваться ниже текущего на 50 пикселей. Причем, только около того, по которому нажали левой кнопкой мыши.


Steel Standoff - 2D аркада.
Мои статьи
Dva_KotaДата: Четверг, 27 Января 2011, 18:28 | Сообщение # 13
заслуженный участник
Сейчас нет на сайте
Если действие создания нового объекта происходит в том объекте, относительно которого нужно создавать, то id писать не нужно. Код в объекте Object2 (например в степ или в нажатии клавиши или в аларм):

Code
if x-Object3.x>0//это когда Object3 находится слева
{
instance_create(x+50,y,Object1);
}

Code
if x-Object3.x<0//это когда Object3 находится справа
{
instance_create(x+50,y,Object1);
}


Новый пример инвентаря! /20.06.2012/

Energy Wars
SaNiK3DДата: Четверг, 27 Января 2011, 22:30 | Сообщение # 14
был не раз
Сейчас нет на сайте
Dva_Kota спасибо еще раз! Возникла новая проблема. В справке пытался найти как поменять у спрайта кадр с 0 на 1. Не нашел! Помогите! cry
NeZnayuДата: Четверг, 27 Января 2011, 23:10 | Сообщение # 15
__танцуй!__
Сейчас нет на сайте
image_index=1;

CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
SaNiK3DДата: Пятница, 28 Января 2011, 21:06 | Сообщение # 16
был не раз
Сейчас нет на сайте
Никто не подскажет какой-нибудь простой графический редактор(Пэинт не предлагать happy )
MrWolfДата: Пятница, 28 Января 2011, 22:23 | Сообщение # 17
почетный гость
Сейчас нет на сайте
Paint.NET, GIMP, Photoshop.
Из векторных, Flash.



Кликни сюда, помоги вырасти


Сообщение отредактировал MrWolf - Пятница, 28 Января 2011, 22:23
SaNiK3DДата: Пятница, 28 Января 2011, 22:38 | Сообщение # 18
был не раз
Сейчас нет на сайте
MrWolf, а на каких из них можно делать анимацию?(кроме Fotoshop)
stalkeryaДата: Пятница, 28 Января 2011, 23:35 | Сообщение # 19
Пользователь Blender 2.5
Сейчас нет на сайте
SaNiK3D, Gif animator например.

Бросила девушка после того, как узнала, что я перешел с гм на Construct.
MrWolfДата: Суббота, 29 Января 2011, 07:52 | Сообщение # 20
почетный гость
Сейчас нет на сайте
SaNiK3D, Flash.


Кликни сюда, помоги вырасти
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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