Воскресенье, 19 Мая 2024, 18:28

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » Dva_Kota [522]
Результаты поиска
Dva_KotaДата: Четверг, 28 Апреля 2011, 11:30 | Сообщение # 161 | Тема: Художник пытается освоить GML
заслуженный участник
Сейчас нет на сайте
У тебя точно не совпадают имена переменных и ресурсов?

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

Energy Wars
Dva_KotaДата: Пятница, 22 Апреля 2011, 14:47 | Сообщение # 162 | Тема: Художник пытается освоить GML
заслуженный участник
Сейчас нет на сайте
ds_map - словарь (чем-то на массив похож и на ini файл smile ).

Наверное с массивами это я слишком разогнался... Наверное тут проще переменные использовать. smile

У тебя много комнат? если нет то в объекте просто делай проверку какая сейчас комната и выполняй код который я писал выше. У тебя будет по две переменные для каждой комнаты.


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

Energy Wars
Dva_KotaДата: Пятница, 22 Апреля 2011, 13:44 | Сообщение # 163 | Тема: Художник пытается освоить GML
заслуженный участник
Сейчас нет на сайте
Quote (LunarPixel)
Никак не могу понять, как сделать так чтобы ГГ появлялся рядом со входом из которого он появился

Можно делать так: в каждой комнате есть объект, в объекте две переменные (x_s, y_s), при выходе из комнаты записываем в эти переменные предыдущие координаты игрока

Code
x_s = xprevious;
y_s = yprevious;

при входе в комнату (при создании игрока), присваивай ему эти координаты:

Code
x = x_s;
y = y_s;

Или можно сделать один объект, в нем массив или ds_map и туда при переходах записывать какой комнате какие координаты соответствуют


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

Energy Wars
Dva_KotaДата: Среда, 20 Апреля 2011, 12:47 | Сообщение # 164 | Тема: Уроки по GameMaker от LunarPixel
заслуженный участник
Сейчас нет на сайте
Quote (Ferrumel)
Нагрузка конечно есть, но тут дело не столько в STEP, сколько в коде, который туда помещен. Все зависит от его оптимизации. Да и в данном случае STEP использовать рациональнее чем создавать ещё 4 события, при всем желании нагрузка будет минимальная, за то процесс создания игры и редактирование упрощается.

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


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

Energy Wars


Сообщение отредактировал Dva_Kota - Среда, 20 Апреля 2011, 12:48
Dva_KotaДата: Пятница, 01 Апреля 2011, 16:16 | Сообщение # 165 | Тема: Остановка звука.
заслуженный участник
Сейчас нет на сайте
Не только файлы фоновой музыки могут проигрываться лишь по одному, но и mp3.

Quote (Из Справки)
Наконец, если Вы захотите использовать другой тип звука, в частности mp3, который не может быть проигран через DirectX. В результате, для проигрывания должен использоваться медиа плеер. Это имеет некоторые ограничения. Только один звук может проиграться одновременно. Никакие эффекты не могут быть применены (даже изменение громкости звука), а также синхронизация, например, зацикливание звуков будет медленным. Могут также происходить задержки при использовании таких звуков. Мы Вам настойчиво не рекомендуем их использовать. (Некоторые компьютеры не могут их поддерживать).


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

Energy Wars
Dva_KotaДата: Пятница, 01 Апреля 2011, 16:04 | Сообщение # 166 | Тема: Остановка звука.
заслуженный участник
Сейчас нет на сайте
Проблема в том, что ты и у звука стрельбы, скорее всего, поставил тип "фоновая музыка", а во время игры может проигрываться только одна фоновая музыка.

И вообще mp3 лучше использовать через dll библиотеки, ГМ с mp3 плохо работает и часто может тормозить. Чтобы не было тормозов используй wav (хотя он весит больше)


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

Energy Wars


Сообщение отредактировал Dva_Kota - Пятница, 01 Апреля 2011, 16:04
Dva_KotaДата: Пятница, 01 Апреля 2011, 01:00 | Сообщение # 167 | Тема: Проблема с образцами!
заслуженный участник
Сейчас нет на сайте


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

Energy Wars
Dva_KotaДата: Пятница, 01 Апреля 2011, 00:54 | Сообщение # 168 | Тема: Проблема с образцами!
заслуженный участник
Сейчас нет на сайте
Robin_Locksley, да, ты прав. Я про это не подумал. Но в таком случае все же рациональнее будет поставить этот код не в степ, а в событие столкновения, чтобы каждый шаг не проверять. И проверку if view_object[0]!=hero можно не делать.

Code

view_object[0]=hero;
speed=0;
if other.stop=true
{
      if (keyboard_check_pressed(vk_enter))
      {
         instance_destroy();
         other.stop=false;
         obj_car.alarm[0]=5;
         with other view_object[0]=id;
      }
}


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

Energy Wars
Dva_KotaДата: Пятница, 01 Апреля 2011, 00:44 | Сообщение # 169 | Тема: Проблема с образцами!
заслуженный участник
Сейчас нет на сайте
Quote (Ice-max)
это создать какойнить обьект а в каждой машине родителем поставить этот какойто обьект?
в столкновеньи просто проверять родителя?

Именно так. smile

Quote (Robin_Locksley)
Еще нужно выйти из машины и снова прилепить объекту героя камеру.
Степ героя:
if view_object[0]!=hero view_object[0]=hero

Зачем же в степе? Лучше в создании ставить этот код, чтобы каждый шаг проверку не выполнять (игрок ведь создается заново когда из машины выходит)... Так этот код и так стоит.


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

Energy Wars


Сообщение отредактировал Dva_Kota - Пятница, 01 Апреля 2011, 00:45
Dva_KotaДата: Пятница, 01 Апреля 2011, 00:29 | Сообщение # 170 | Тема: Проблема с образцами!
заслуженный участник
Сейчас нет на сайте
Когда садишься в машину записывай в переменную id той машины в которую садишься и к этой переменной привязывай вид. Robin_Locksley ведь написал тебе про это:
Quote (Robin_Locksley)
в событии столкновения with other view_object[0]=id

Добавлено (01.04.2011, 00:29)
---------------------------------------------
Код в событии столкновения с машиной:

Code
speed=0;
if other.stop=true
{
     if (keyboard_check_pressed(vk_enter))
     {
        instance_destroy();
        other.stop=false;
        obj_car.alarm[0]=5;
        with other view_object[0]=id;
     }
}

И вообще, сделай лучше один родительский объект для всех машин и проверяй столкновение с ним, а не с каждой машиной отдельно.


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

Energy Wars


Сообщение отредактировал Dva_Kota - Пятница, 01 Апреля 2011, 00:31
Dva_KotaДата: Четверг, 31 Марта 2011, 23:54 | Сообщение # 171 | Тема: Проблема с образцами!
заслуженный участник
Сейчас нет на сайте
Ты можешь проверять в машине ты или нет проверяя есть ли объект hero в комнате

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

Energy Wars
Dva_KotaДата: Четверг, 31 Марта 2011, 23:52 | Сообщение # 172 | Тема: Проблема с образцами!
заслуженный участник
Сейчас нет на сайте
думаю проблема в том, что объект hero удаляется когда "садится в машину". Объекта нет - нет переменной. У объекта obj_arrow в Draw замени первую строку на эту:
Code
if instance_exists(hero){shot_dir=hero.strelka_dir}

(проверяем есть ли объект hero)

Или добавь эту проверку к тем двум которые там уже есть:

Code
if instance_exists(hero) and obj_car.stop=true and obj_car2.stop=true{shot_dir=hero.strelka_dir}


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

Energy Wars


Сообщение отредактировал Dva_Kota - Четверг, 31 Марта 2011, 23:53
Dva_KotaДата: Четверг, 31 Марта 2011, 23:43 | Сообщение # 173 | Тема: Проблема с образцами!
заслуженный участник
Сейчас нет на сайте
Ошибка с переменной скорее всего из-за того что переменная проверяется до того как создан объект, у которого задается эта переменная. Это может быть, например, когда проверяется переменная в событии создания первого объекта, а задается в событии создания второго объекта, при этом первый объект поставлен в комнату раньше чем второй (у первого id меньше чем у второго).

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

Energy Wars
Dva_KotaДата: Вторник, 29 Марта 2011, 15:37 | Сообщение # 174 | Тема: Клавиши в GML
заслуженный участник
Сейчас нет на сайте
Вот код из моего примера (в том случае нужно было именно таким способом делать)
Code
screen=sprite_create_from_screen(view_xview[0],view_yview[0],view_wview[0],view_hview[0],false,false,0,0);

i=0;

while file_exists(working_directory+'\screen_'+ string(i)+'.png')
     {
     i+=1;
     }

sprite_save_strip(screen,working_directory+'\screen_'+ string(i)+'.png')

Вот сам пример:
http://rghost.ru/4982474

Но проще будет такой код использовать:

Code
i=0;

while file_exists(working_directory+'\screen_'+ string(i)+'.bmp')
     {
     i+=1;
     }

screen_save(working_directory+'\screen_'+ string(i)+'.bmp')


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

Energy Wars
Dva_KotaДата: Вторник, 29 Марта 2011, 15:32 | Сообщение # 175 | Тема: Клавиши в GML
заслуженный участник
Сейчас нет на сайте
Но при таком способе после перезагрузки игры скриншоты будут создаваться заново (опять с первого номера) и перезаписываться. Чтобы такого не происходило нужно проверять "существует ли файл с таким именем". Где то у меня был такой пример (может быть даже на этом форуме я его выкладывал). Если найду дам ссылку.

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

Energy Wars
Dva_KotaДата: Пятница, 25 Марта 2011, 17:16 | Сообщение # 176 | Тема: Художник пытается освоить GML
заслуженный участник
Сейчас нет на сайте
Robin_Locksley, то что ты написал будет происходить при использовании if

Добавлено (25.03.2011, 17:16)
---------------------------------------------
Игра висит по тому что не начинается выполнение следующего шага (в игре ничего не происходит, игрок и враги не двигаются например).


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

Energy Wars


Сообщение отредактировал Dva_Kota - Пятница, 25 Марта 2011, 17:17
Dva_KotaДата: Пятница, 25 Марта 2011, 16:47 | Сообщение # 177 | Тема: Художник пытается освоить GML
заслуженный участник
Сейчас нет на сайте
Я хочу сказать что если у него, например, в первом шаге выполняется код:
Code
while not keyboard_check (vk_down) { бла бла бла блаб лаб}

то второй шаг не начнет выполняться пока условие не будет истиной.


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

Energy Wars
Dva_KotaДата: Пятница, 25 Марта 2011, 16:06 | Сообщение # 178 | Тема: Художник пытается освоить GML
заслуженный участник
Сейчас нет на сайте
Quote (Robin_Locksley)
Если ты использовал цикл в степе, то каждый шаг у тебя запускается новый цикл, при том что старый все еще выполняется.

А разве следующий шаг не начнет выполняться только после завершения текущего цикла?


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

Energy Wars
Dva_KotaДата: Вторник, 22 Марта 2011, 17:15 | Сообщение # 179 | Тема: Привязка обьекта
заслуженный участник
Сейчас нет на сайте
Quote (Apelsinoviy_kot)
*здесь зеркально отражаешь героя. Как это сделать, не знаю*

image_xscale = -1 - отразить спрайт по горизонтали, image_xscale = 1 вернуть обратно.

чтобы руки ну двигались ниже игрока добавь проверку по у где находится курсор. В итоге код будет такой:

Code
if (mouse_y < игрок.y)
{
     image_angle = point_direction(x,y,mouse_x,mouse_y);
}

if(mouse_x < игрок.x)   
{
     image_xscale = -1;
}
else
{
     image_xscale = 1;
}


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

Energy Wars


Сообщение отредактировал Dva_Kota - Вторник, 22 Марта 2011, 17:17
Dva_KotaДата: Вторник, 15 Марта 2011, 22:21 | Сообщение # 180 | Тема: Energy Wars
заслуженный участник
Сейчас нет на сайте
Проект завершен.

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

Energy Wars
Форум игроделов » Записи участника » Dva_Kota [522]
Поиск:

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