Вторник, 26 Ноября 2024, 02:56

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (Game Maker)
KaramBinoДата: Воскресенье, 24 Ноября 2013, 17:11 | Сообщение # 4581
Karam Грозный
Сейчас нет на сайте
Labirintik, ок, спасибо.

TaDaDaPamДата: Воскресенье, 24 Ноября 2013, 17:13 | Сообщение # 4582
частый гость
Сейчас нет на сайте
KaramBino, в принципе, как-то так:
Создавай для каждой кнопки свой объект и глобальную переменную. Задается так:
Код
global.lvl2=false//Так уровень недоступен

При прохождении уровня 1: (например, если кол-во монет в комнате равно нулю, для такого случая составляю код)
Код
if instance_number (o_coin)=0
{global.lvl2=true
room_goto_next()}

Ну... И в нажатии левой кнопкой:
Код
if global.lvl2=true
{room=уровень}
else
{show_message('Недоступно. Пройдите прошлый уровень.')
KaramBinoДата: Воскресенье, 24 Ноября 2013, 17:14 | Сообщение # 4583
Karam Грозный
Сейчас нет на сайте
TaDaDaPam, а как сделать индикатор мощности для шарика, которым нужно выстреливать?

LabirintikДата: Воскресенье, 24 Ноября 2013, 17:14 | Сообщение # 4584
постоянный участник
Сейчас нет на сайте
Цитата TaDaDaPam ()

Создавай для каждой кнопки свой объект и глобальную переменную. Задается так:

Мне кажется лучше одну переменную для всех лвл.
KaramBinoДата: Воскресенье, 24 Ноября 2013, 17:16 | Сообщение # 4585
Karam Грозный
Сейчас нет на сайте
Labirintik, так быстрее happy

TaDaDaPamДата: Воскресенье, 24 Ноября 2013, 17:16 | Сообщение # 4586
частый гость
Сейчас нет на сайте
Цитата Labirintik ()
Мне кажется лучше одну переменную для всех лвл.

Можно =) Кому как удобнее
LabirintikДата: Воскресенье, 24 Ноября 2013, 17:18 | Сообщение # 4587
постоянный участник
Сейчас нет на сайте
Цитата TaDaDaPam ()
Можно =) Кому как удобнее

В твоем случаи игра будет весить больше, чем в моем.
TaDaDaPamДата: Воскресенье, 24 Ноября 2013, 17:22 | Сообщение # 4588
частый гость
Сейчас нет на сайте
Цитата KaramBino ()
TaDaDaPam, а как сделать индикатор мощности для шарика, которым нужно выстреливать?

Создай переменную. Ее значение приравнивай к расстоянию до мышки. Делается так:
Код
//Переменная будет str
str=distance_to_point(mouse_x,mouse_y)

Вот. Создай спрайт индикатора, сделай несколько кадров. При нажатии на шарик, рисуй спрайт, через переменную так:
Код
dr=draw_sprite(x,y,indikator)
if str=100 then dr.image_index=1//Далее так же сравнивай.

Добавлено (24.11.2013, 17:22)
---------------------------------------------

Цитата Labirintik ()
В твоем случаи игра будет весить больше, чем в моем.

Это да... Но мне меню выбора уровней сейчас не нужно.
adast12Дата: Воскресенье, 24 Ноября 2013, 21:02 | Сообщение # 4589
почетный гость
Сейчас нет на сайте
Как сделать такой стиль текста?

Мне нужно рисовать текст спрайтом.
Чтобы каждая буква была спрайтом.
Можно пример?
RobotTechДата: Воскресенье, 24 Ноября 2013, 22:33 | Сообщение # 4590
был не раз
Сейчас нет на сайте
Какие делать разрешения изображений, если приложение делается под ios: iphone и ipad?
Вообще, есть статьи на подобную тему, где все четко и ясно написано?
Спасибо за помощь.

Пока начали 1280x768, т.е. вокруг основного экрана есть как бы "безопасная зона", в которой нет никаких значимых объектов. А кнопки и текст привязали к границам экрана.


Сообщение отредактировал RobotTech - Понедельник, 25 Ноября 2013, 03:39
JunkerKunДата: Понедельник, 25 Ноября 2013, 13:56 | Сообщение # 4591
частый гость
Сейчас нет на сайте
Цитата adast12 ()
Мне нужно рисовать текст спрайтом.
Чтобы каждая буква была спрайтом.
Можно пример?

Можно создать шрифт из спрайта. Для этого нужно воспользоваться командой "font_add_sprite" (посмотри в мануале про нее). Единственное, что стоит объяснить, так это второй параметр. Это стартовый символ, с которого начнет создавать шрифт ГМ. Всего символов может быть 255, но в ГМ ты можешь ограничить их количество, и создать, допустим, только 10 кадров в спрайте, только для цифр. Естественно, ничего, кроме цифр этот шрифт отображать и не будет. Для всего промежутка русских и английских букв хватает поставить этот параметр в 33 и сделать 222 символа. Я для этого пользовался написанной мной же и на ГМ утилитой.
Пример: http://rghost.ru/50436042

Шрифт нужно ставить каждый раз, когда хочешь им что-нибудь отрисовать (или же один раз, в самом начале игры, если шрифт будет всего один). Чтобы он был доступен везде, можно сделать переменную для него глобальной.
KaramBinoДата: Понедельник, 25 Ноября 2013, 16:20 | Сообщение # 4592
Karam Грозный
Сейчас нет на сайте
Как создать типичный комикс? То есть комикс идёт сам по себе, но по нажитию мышки включаются все фрагменты и появляется кнопка далее, которая ведёт в следующий уровень?

TaDaDaPamДата: Понедельник, 25 Ноября 2013, 16:29 | Сообщение # 4593
частый гость
Сейчас нет на сайте
KaramBino, ну... Создай глобальную переменную: global.komix
Создай для каждой картинки из комикса спрайт,, в зависимости от значений меняй их видимость, в глобальной левой кнопке (нажатие) прибавляй к global.komix по 1. Все.
KaramBinoДата: Понедельник, 25 Ноября 2013, 16:34 | Сообщение # 4594
Karam Грозный
Сейчас нет на сайте
TaDaDaPam, ну можно как бы.

krapДата: Среда, 27 Ноября 2013, 07:29 | Сообщение # 4595
почетный гость
Сейчас нет на сайте
У меня возникла проблема с отображением верхней панели.
Дело вот в чем: есть скроллинг который изменяет вид в комнате
панель отображена в виде тайла
Вопрос: как сделать так чтобы панель не изменялась в высоте и ширине относительно вида?
Сейчас у меня если увеличиваешь, к примеру, вид, то панель тоже увеличивается
Вот код панели:
Код
tile_set_position(panel, view_xview[0] + view_wview[0]/3, view_yview[0])

Кстати, тоже самое и с текстом
Помогите решить)


Сообщение отредактировал krap - Среда, 27 Ноября 2013, 07:31
JunkerKunДата: Среда, 27 Ноября 2013, 20:18 | Сообщение # 4596
частый гость
Сейчас нет на сайте
Цитата krap ()
Вопрос: как сделать так чтобы панель не изменялась в высоте и ширине относительно вида?

Если я правильно понял, что требуется, то нужно поставить view_wport и view_hport в значение view_wview и view_hview соответственно. При этом, естественно, увеличится поле видимости. если же требуется не это, то, увы, никак. Тайлы всегда будут масштабироваться вместе с видом, поэтому для панели стоит использовать спрайт. Вообще, не понимаю, отчего используются тайлы, но, видимо, есть причина.

P.S. я могу ошибаться, но вроде как есть функция, задающая масштаб тайла. Если есть, то можно использовать ее, и менять масштаб относительно вида. Но, честно говоря, спрайтом было бы куда удобнее.

Без скриншотов сказать что-то еще довольно сложно.


Сообщение отредактировал JunkerKun - Среда, 27 Ноября 2013, 20:18
t111Дата: Среда, 27 Ноября 2013, 21:26 | Сообщение # 4597
почетный гость
Сейчас нет на сайте
игроделы нужна срочно ваша помощь, уже устал голову сам ломать, шестой час уже бъюсь. Как сделать значение например ОТ 5 ДО 100. Например, если объек такойто находится от игрока в диапазоне от 5 до 100, то... Использовал разные функфии, помогла пока только point distance ,но в ней плохо что проверяет расстояние со всех сторон, а мне надо, если слева от игрока такой объект, то спрайт влево, если справа, то справа.

как известно, встречают по
одежке, а провожают
uninstall'ом"

AnOmalyWolfДата: Среда, 27 Ноября 2013, 21:50 | Сообщение # 4598
частый гость
Сейчас нет на сайте
t111, Объедини две ф-ии. Одна будет проверять находится ли объект слева, а другая (point distance) будет проверять дистанцию до объекта. smile
t111Дата: Среда, 27 Ноября 2013, 23:45 | Сообщение # 4599
почетный гость
Сейчас нет на сайте
AnOmalyWolf, я как раз и не знаю какую фю подобрать. Point dinstance я как раз и хочу использовать ещё с какойто. Пробовал с place meeting, где если, х-300 значит объект слева, х+300 объект справа. Но действие срабатывало только если я попадаю именно в точку 300 по оси х. А мне нужно от 0 до 300. Вот сижу не знаю что делать. Парюсь. ((

Добавлено (27.11.2013, 23:45)
---------------------------------------------
спасибо, проблема решена! Наконец-то! Могу продолжать дальше. ))))


как известно, встречают по
одежке, а провожают
uninstall'ом"

JunkerKunДата: Четверг, 28 Ноября 2013, 01:03 | Сообщение # 4600
частый гость
Сейчас нет на сайте
Цитата t111 ()
я как раз и не знаю какую фю подобрать.

Так, для справки (мало ли пригодится):
Есть вариант использовать direction_point с point_distance и проверять углы:

Код

sprites[0]=sprRight;
sprites[1]=sprUp;
sprites[2]=sprLeft;
sprites[3]=sprDown;

dir = direction_point(player.x,player.y, obj.x, obj.y);
dist = point_distance(player.x,player.y, obj.x, obj.y);

if (dist>50 && dist<100) {
dir2 = dir-45;
if (dir2<0) dir2=0;
sprite = sprites[4/360*dir2];
};


Ну или как-то так. Делал подобное для 8 направлений.
Поиск:

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