Вопрос - Ответ (Game Maker)
| |
Durbek | Дата: Среда, 03 Октября 2012, 11:07 | Сообщение # 3541 |
Воин света
Сейчас нет на сайте
| Помогите люди!
Когда звук воспроизводится то он перебивает фоновую музыку!
Использую sound_play()
|
|
| |
Dva_Kota | Дата: Среда, 03 Октября 2012, 11:50 | Сообщение # 3542 |
заслуженный участник
Сейчас нет на сайте
| Скорее всего у этого звука стоит тип "Фоновая музыка" (background music). Нужно изменить на обычный звук (normal sound). Или использовать dll и звук из папки.
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
FadeBaker | Дата: Среда, 03 Октября 2012, 12:49 | Сообщение # 3543 |
JavaSE Game Developer
Сейчас нет на сайте
| Quote (zxc76) bl_tree=instance_nearest(x,y,tree);//находим ближающий объект дерева, от х,у игрока if (player.y<bl_tree.y) { player.depth=998 } else { player.depth=-998 } Зачем так все усложнять? Все намного проще. В Step всех игровых объектов:
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
|
|
| |
UnZip | Дата: Среда, 03 Октября 2012, 16:11 | Сообщение # 3544 |
почетный гость
Сейчас нет на сайте
| Вот такой вопрос образовался :
У нас 2 моба( объект тот же),если например у 1 моба отнимается 10 ХП ,он умирает,при этом 2 моб не как не реагирует на изменение. Как это сделать с 1 объектом?
У меня выходит если я убиваю 1 моба,2 тоже умирает
|
|
| |
Dva_Kota | Дата: Среда, 03 Октября 2012, 16:31 | Сообщение # 3545 |
заслуженный участник
Сейчас нет на сайте
| У тебя для ХП используется глобальная переменная health. замени ее на какую-нибудь другую, локальную переменную, например hp
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
UnZip | Дата: Среда, 03 Октября 2012, 17:45 | Сообщение # 3546 |
почетный гость
Сейчас нет на сайте
| Dva_Kota, благодарствую Добавлено (03.10.2012, 17:45) --------------------------------------------- А как сделать в коде не равно? Например : sprite_index не равен kletka
|
|
| |
LunarPixel | Дата: Среда, 03 Октября 2012, 17:50 | Сообщение # 3547 |
старожил
Сейчас нет на сайте
| !=
|
|
| |
UnZip | Дата: Среда, 03 Октября 2012, 20:26 | Сообщение # 3548 |
почетный гость
Сейчас нет на сайте
| Как указать sprite_index другого объекта Например в таком коде: if place_meeting(O_kletka_glav.x, O_kletka_glav.y+16,O_kletka) and sprite_index объекта O_kleta = sprite { bla..bla..bla... }
|
|
| |
LunarPixel | Дата: Среда, 03 Октября 2012, 20:27 | Сообщение # 3549 |
старожил
Сейчас нет на сайте
| O_kleta.sprite_index = sprite
|
|
| |
UnZip | Дата: Среда, 03 Октября 2012, 20:31 | Сообщение # 3550 |
почетный гость
Сейчас нет на сайте
| LunarPixel, пробовал,не выходит, мне нужно ,что бы спрайт только который внизу имел такой спрайт.А остальные (например : справа,сверху и т.д) другой,но обьект опять тот-же
Сообщение отредактировал UnZip - Среда, 03 Октября 2012, 20:32 |
|
| |
LunarPixel | Дата: Среда, 03 Октября 2012, 20:34 | Сообщение # 3551 |
старожил
Сейчас нет на сайте
| Ну тогда получи сначала id объекта, который внизу. Сделать это можно, например, через функцию obj = instance_position(x,y,obj), которая вернет тот самый id указанного объекта из заданной позиции. Затем уже у этого полученного id в переменной obj проверяй спрайт, obj.sprite_index = sprite.
|
|
| |
UnZip | Дата: Среда, 03 Октября 2012, 20:37 | Сообщение # 3552 |
почетный гость
Сейчас нет на сайте
| LunarPixel, Благодарю
|
|
| |
Комиссар | Дата: Пятница, 05 Октября 2012, 13:47 | Сообщение # 3553 |
заслуженный участник
Сейчас нет на сайте
| У меня игра с видом сверху. Контролируемый игроком юнит - артиллерийский катер или танк. Сам юнит движется по кнопкам, башня вращается и стреляет в направлении курсора. Не знаю, как привязать башню к корпусу (пока всё отдельно). В случае с катером не знаю, как задать мёртвый сектор (т.е. направление, куда башня не поворачивается). Также непонятно, как заставить вражеские танки и катера менять курс и разворачиваться постепенно, а не моментально (например, для сохранения заданной дистанции с нашим юнитом или возвращения на базу).
|
|
| |
LunarPixel | Дата: Пятница, 05 Октября 2012, 13:55 | Сообщение # 3554 |
старожил
Сейчас нет на сайте
| Quote (Комиссар) Не знаю, как привязать башню к корпусу (пока всё отдельно).
В end step: Code x=korpus.x y=korpus.y
Quote (Комиссар) В случае с катером не знаю, как задать мёртвый сектор (т.е. направление, куда башня не поворачивается). Code if point_direction(x,y,mouse_x,mouse_y)>0 and point_direction(x,y,mouse_x,mouse_y)<180 поворачиваем башню
Quote (Комиссар) Также непонятно, как заставить вражеские танки и катера менять курс и разворачиваться постепенно, а не моментально Code if point_direction(x,y,obj.x,obj.y)<direction direction+=2 else direction-=2
|
|
| |
Комиссар | Дата: Воскресенье, 07 Октября 2012, 19:53 | Сообщение # 3555 |
заслуженный участник
Сейчас нет на сайте
| LunarPixel, спасибо! Я сначала вводил "direction_to_point", а потом сам допёр, что нужен "point_direction". Хотел тебе об этом сообщить, а ты уже поправил ся. Всё хорошо, только запретный сектор получается задан пеленгами, а надо курсовыми углами. Т.е., поскольку корабль поворачивается, нужно как-то задать этот сектор не глобальными углами, а углами относительно корпуса (+-70 градусов левого и правого борта).Добавлено (06.10.2012, 13:41) --------------------------------------------- Ещё вопрос:
Башня находится в заданном центре спрайта корабля, и при повороте получается, что корабль как будто поворачивает корму, что нереалистично. Если разместить заданный центр спрайта ближе к корме - корабль движется реалистично, но башня сдвигается в корму, что неприемлемо.
Как решить эту проблему? Добавлено (07.10.2012, 19:53) --------------------------------------------- Ещё вопрос: Я расставил несколько вражеских кораблей на карте, и заставил их стрелять по мне. Но стреляет почему-то только один. При его убийстве стрелять начинает другой и тоже один. Code //стрельба по нашему кораблю if cannon_enemy = 1 { instance_create(o_ship_enemy.x,o_ship_enemy.y,o_fire_enemy) sound_play(gun)
alarm[3] = 20 cannon_enemy = 0 }
Что я сделал не так?
|
|
| |
LunarPixel | Дата: Воскресенье, 07 Октября 2012, 19:58 | Сообщение # 3556 |
старожил
Сейчас нет на сайте
| Если код прописываешь во врагах, то исправь: instance_create(x,y,o_fire_enemy)
|
|
| |
Комиссар | Дата: Вторник, 09 Октября 2012, 16:03 | Сообщение # 3557 |
заслуженный участник
Сейчас нет на сайте
| LunarPixel, спасибо, помогло. Теперь они все стреляют синхронно, и все выстрелы параллельно друг другу.
П.С.: Всё, разобрался, такой же косяк был в самом выстреле.
Добавлено (09.10.2012, 16:03) --------------------------------------------- Как задать небольшой по размеру хелсбар на более чем 100 единиц (например 1000)? Пробую с помощью функции Health, но тогда хелсбар не отображает попадания, пока хп > 100 единиц (нужен именно хелсбар, а не надпись типа "Health: 1000". И раз уж на то пошло, как прикрутить интерфейс с значениями переменных, к примеру, в верхний левый угол экрана (учитывая, что фон - не статичный, размеры комнаты значительно больше, чем отображаемая часть на экране). Пока только получается либо прикрутить к объекту, либо в какую-то координату комнаты.
Сообщение отредактировал Комиссар - Вторник, 09 Октября 2012, 16:04 |
|
| |
LunarPixel | Дата: Вторник, 09 Октября 2012, 16:15 | Сообщение # 3558 |
старожил
Сейчас нет на сайте
| Комиссар, ну есть два варианта: либо рисовать хелзбар прямоугольником, с длиной 1000, и потом уменьшать. Или принимать за единицу урона для хелзбара 10 пунктов. Т.е. когда получено 10 единиц урона, тогда отнимается 1 пункт от хелзбара.
А чтобы прицепить к экрану, используй координаты вида через view_xview[0], view_yview[0]. Если, например, прибавлять эти значения к x/y объекта, то он будет всегда двигаться относительно вида.
|
|
| |
ress | Дата: Среда, 10 Октября 2012, 12:15 | Сообщение # 3559 |
постоянный участник
Сейчас нет на сайте
| Доброго времени суток! Подскажите, пожалуйста, как можно реализовать плавный прыжок в игре? (Например, как в Super Meat Boy)
Я очень недоволен...
|
|
| |
Raven84 | Дата: Среда, 10 Октября 2012, 12:39 | Сообщение # 3560 |
старожил
Сейчас нет на сайте
| Комиссар, Можешь просто использовать формулу (если я тебя правильно понял):
x=live*100/livemax - где live-кол-во здоровья в данный момент,а livemax-максимальное здоровье. Далее в draw_healthbar(x1,y1,x2,y2,x,backcol,mincol,maxcol,direction,showback,showborder).
Вот и все. Добавлено (10.10.2012, 12:39) --------------------------------------------- Т.е. в Create объекта пишешь live=1000 livemax=live А в событии попадания отнимаешь именно live.
Super Knight Story (в разработке) Idolzzz - игра доступна в Steam и Play Market Oliver's Adventures in the Fairyland
|
|
| |
|