Вопрос - Ответ (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, так быстрее
|
|
| |
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) будет проверять дистанцию до объекта.
|
|
| |
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 направлений.
|
|
| |
|