Мои вопросы
|
|
миха | Дата: Понедельник, 22 Августа 2011, 09:16 | Сообщение # 1 |
почти ветеран
Сейчас нет на сайте
| 1) В общем представим что у нас комната и в ней много экземпляров объекта obj_enemy. Представим что мы создаем союзника который будет помогать убивать obj_enemy. Чтобы убивать нужно выбрать кого убивать. Потому то я и здесь. Допустим так: мне нужно выбрать одного врага который подходит под такие условия: - между союзником и obj_enemy нету obj_block. - расстояние до obj_enemy не больше 450 Останутся несколько надо выбрать из них ближайшего и дать ему "второе имя". Имя конкретно этого экземпляра.
Чтобы когда я писал Quote if instance_exists(obj_enemy) and vizhu_enemy=1 image_angle=point_direction(x,y,obj_enemy.x,obj_enemy.y) Я мог ввести вместо красных букв это имя и союзник смотрел именно на нужного врага. 2) Мне нужно кодом сохранить файл из игры (спрайт, объект, комнату, звук, путь, таймлайн и т. д. ) во внешнее хранилище т. е. в папку my_files находящуюся в той же директории где находиться *.exe. Потом этот ресурс надо загрузить снова во внутреннее (копировать). Пример: я сохранил комнату в папке my_files и теперь мне нужно ту комнату загрузить в игру под именем classic_room.
Сообщение отредактировал миха - Понедельник, 22 Августа 2011, 17:59 |
|
| |
LunarPixel | Дата: Понедельник, 22 Августа 2011, 09:36 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| 1) в Step у союзника напиши:
Code obj=instance_nearest(x,y,obj_enemy)
if distance_to_object(obj)<450 if !collision_line(x,y,obj.x,obj.y,obj_wall,0,0) { image_angle=point_direction(x,y,obj.x,obj.y) }
2) всё подряд просто так сохранять нельзя. Ту же комнату придется сохранять через текстовый файл, т.е. записывать туда кординаты всех объектов, название комнаты, название фона и т.д. А потом из этого файла строить комнату. Читай про это всё в справке.
|
|
| |
миха | Дата: Понедельник, 22 Августа 2011, 10:05 | Сообщение # 3 |
почти ветеран
Сейчас нет на сайте
| Еще вопрос: надо проверить: виден ли объект obj_hero на экране (view[0]).
|
|
| |
LunarPixel | Дата: Понедельник, 22 Августа 2011, 17:12 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| if obj_hero.x>view_xview[0] and obj_hero.x<view_xview[0]+ширина вида if obj_hero.y>view_yview[0] and obj_hero.y<view_yview[0]+высота вида {show_message('герой виден')}
Как то так
|
|
| |
GameMix | Дата: Понедельник, 22 Августа 2011, 17:17 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| LunarPixel, можно проще. В объекте героя такой код: Code if view_current = 0 {show_message('герой виден')} // если героя видно в виде под номером 0, тогда выводим сообщение.
Steel Standoff - 2D аркада. Мои статьи
Сообщение отредактировал аТнОтХоАн - Понедельник, 22 Августа 2011, 17:21 |
|
| |
|
GameMix | Дата: Понедельник, 22 Августа 2011, 17:32 | Сообщение # 7 |
старожил
Сейчас нет на сайте
| LunarPixel, сорри. Использовал только при рисовании этот способ, поэтому не знал. Можно ещё collision_rectangle() использовать.
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
|
миха | Дата: Понедельник, 22 Августа 2011, 17:38 | Сообщение # 9 |
почти ветеран
Сейчас нет на сайте
| LunarPixel, спасибо. А нельзя ли сделать так: Quote if obj_hero.x>view_xview[0] and obj_hero.x<view_xview[0]+view_hview[0] if obj_hero.y>view_yview[0] and obj_hero.y<view_yview[0]+view_wview[0] Добавлено (22.08.2011, 17:38) --------------------------------------------- LunarPixel,
|
|
| |
Лер_да_Рим | Дата: Понедельник, 22 Августа 2011, 19:38 | Сообщение # 10 |
заслуженный участник
Сейчас нет на сайте
| Quote (миха) LunarPixel, спасибо. А нельзя ли сделать так: if obj_hero.x>view_xview[0] and obj_hero.x<view_xview[0]+view_hview[0] if obj_hero.y>view_yview[0] and obj_hero.y<view_yview[0]+view_wview[0] Ну, сделать-то можно, только код неверен. Ты путаешь height и width
Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.
|
|
| |
миха | Дата: Понедельник, 22 Августа 2011, 19:54 | Сообщение # 11 |
почти ветеран
Сейчас нет на сайте
| Так и знал. У меня с английским никак.
|
|
| |