Вопрос - Ответ (Game Maker)
| |
Sholar | Дата: Среда, 01 Октября 2014, 21:06 | Сообщение # 5141 |
Draw With Me
Сейчас нет на сайте
| *нупский вопрос... но задать не могу... в ГМС совсем не давно, и не знаю новых функций и как они работают.... интересует как в ГМС для андроида, реализовать фукции "свапа" "слайда" (по вертикали или горизонтали) и обычного "тапа" (пользуюсь сейчас обычным событием для мышки, но мб есть спец событие).
https://vk.com/g_sholar
|
|
| |
WhoAmI | Дата: Среда, 01 Октября 2014, 22:33 | Сообщение # 5142 |
Сумасшедший программист
Сейчас нет на сайте
| Sholar, Код //Это всё в степе for(i=0;i<5;i+=1) { if device_mouse_check_button_pressed(i,mb_left) { if (instance_position(device_mouse_x(i),device_mouse_y(i),id) !=noone) { // Действие при нажатии } } }
if (instance_position(device_mouse_x(a),device_mouse_y(a),id) = noone)+!(device_mouse_check_button(a,mb_left)) { //Действие при отпускании } проверка на тап.
Struggle #Gamiron12
Сообщение отредактировал WhoAmI - Среда, 01 Октября 2014, 22:33 |
|
| |
Ёрик | Дата: Четверг, 02 Октября 2014, 07:19 | Сообщение # 5143 |
частый гость
Сейчас нет на сайте
| Скажите, почему в gms при создании 3d камеры показывает какую-ту ерунду? Вот посмотрите: https://yadi.sk/d/Ol9I7-txbmLzg
Мальчик нашёл на улице миллион рублей и сдал находку в полицию. Рыдающая мать этого мальчика говорила, что гордиться своим сыном.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Мои игры:
Герой-лётчик на Windows. Ссылка на скачивание этой игры и её исходника: https://yadi.sk/d/n90ZTwgOY2nYn Оценки к этой игре, комментарии, пожелания пишите в мою ЛС.
|
|
| |
Hitorimaru | Дата: Понедельник, 20 Октября 2014, 15:40 | Сообщение # 5144 |
был не раз
Сейчас нет на сайте
| Помогите, пожалуйста: как кодом открыть внешний текстовый файл, находящийся в папке с проектом, чтобы использовать текст файла в игре? Можно ли каждую строку из этого файла (строки, соответственно, энтером в файле разделены)) вбить в массив для дальнейшего построчного использования текста из файла?..
|
|
| |
Fill_Freeman | Дата: Понедельник, 20 Октября 2014, 16:19 | Сообщение # 5145 |
почетный гость
Сейчас нет на сайте
| Hitorimaru, держи. на будущее - научись гуглить.
|
|
| |
Hitorimaru | Дата: Понедельник, 20 Октября 2014, 16:29 | Сообщение # 5146 |
был не раз
Сейчас нет на сайте
| Цитата Fill_Freeman ( ) научись гуглить. Да я ж гуглил - честно! До тамошнего я немного-таки разобрался благодаря ГМ-овской справке, но... не работает жеж! Вот и не пойму, где же я напортачил... Код globalvar rusdial; rus = file_text_open_read("rus.txt"); rusdial = file_text_read_string(rus);
в дальнейшем rusdial используется для вывода текста на экран... Ошибок не находит, но текст отсутствует... код приемлем?
Сообщение отредактировал Hitorimaru - Понедельник, 20 Октября 2014, 16:39 |
|
| |
Fill_Freeman | Дата: Понедельник, 20 Октября 2014, 17:12 | Сообщение # 5147 |
почетный гость
Сейчас нет на сайте
| Hitorimaru, текст, как я понимаю русский. Пробовал с латинскими символами, цифрами? Есть подозрение, что что-то не так с кириллицей.
|
|
| |
Hitorimaru | Дата: Понедельник, 20 Октября 2014, 17:17 | Сообщение # 5148 |
был не раз
Сейчас нет на сайте
| Fill_Freeman, пробовал, вбивал латиницу. Да и шрифт развернут на русские символы - напрямую через драв_текст работало... Так. текстовый файл rus.txt лежит в папке \SomeSampleGame.gmx. К нему можно обращаться просто через file_text_open_read("rus.txt")?
Так, стоп. А используемые внешние файлы надо тыкать в Included Files озябательно?
Хм, а если через инклудед, то русский не выводится... лечится как-нибудь такое?..
Проблема решена изменением кодировки вложенного файла на UTF-8.
Сообщение отредактировал Hitorimaru - Вторник, 21 Октября 2014, 00:19 |
|
| |
Mikikus | Дата: Среда, 22 Октября 2014, 13:31 | Сообщение # 5149 |
был не раз
Сейчас нет на сайте
| Помогите ! В Game maker Studio PE создаю объект obj_spawner и obj_block (объект , который будет создаваться по клику левой кнопкой мыши) В obj_spawner создаю событие "left button" и пишу код :" instance_create(mouse_x,mouse_y,obj_block); . Расположил obj_spawner в комнате и запускаю . Вроде бы по клику левой кнопки мыши obj_block должен создаваться в том месте , где стоит курсор . Но проблема в том , что obj_block не создается вообще P.S Спрайт поставил
|
|
| |
Fill_Freeman | Дата: Среда, 22 Октября 2014, 13:57 | Сообщение # 5150 |
почетный гость
Сейчас нет на сайте
| Mikikus, left button срабатывает, только когда ты кликаешь по объекту. Если объект невидимый (а у тебя скорее всего так и есть), то надо использовать global left button
|
|
| |
Mikikus | Дата: Среда, 22 Октября 2014, 14:18 | Сообщение # 5151 |
был не раз
Сейчас нет на сайте
| Fill_Freeman, Спасибо )
|
|
| |
MrSlap | Дата: Четверг, 23 Октября 2014, 02:44 | Сообщение # 5152 |
почетный гость
Сейчас нет на сайте
| Ребята, я опять со своими геймпадами. Хочется мне, чтобы в аркады и платформеры можно было играть со сторонних геймпадов. Помимо х-боксовского, который поддерживается гамаком отдельно, есть функции джойстика, и мы легко можем указать ид кнопки, которая будет отвечать нужным действиям. Но проблема-то в том, что ид кнопок и их расположение на джойстике у каждой модели отличается в зависимости от кол-ва кнопок, в плоть до того, что у разных джойстиков разный ид курков и кнопок. Есть идеи как решить эту проблему? Я думал, можно сделать бинд, как с клавиатурой (есть самописный кодец), но у джойстика просто нет проверки последнего введённого кода.
Последний вариант, который я придумал, в настройках управления нарисовать джойстик, и на кнопках этого джойстика отрисовать id кнопок. А внизу оставить сноску, какая цифра за какое действие отвечает. Бинд будет вводиться с клавиатуры, либо выдавать контекстное меню 1-32, где можно будет выбрать нужный ид для текущей кнопки. Код не сложный, но процесс настройки немножко геморный. Как думаете, с т.з. механики - такой вариант стоит использовать?
Создаю интерактивную повесть.
Сообщение отредактировал MrSlap - Четверг, 23 Октября 2014, 07:28 |
|
| |
OpenGOO | Дата: Четверг, 23 Октября 2014, 10:36 | Сообщение # 5153 |
почти ветеран
Сейчас нет на сайте
| MrSlap, как вариант, добавить свои профили для геймападов.
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
|
|
| |
Mikikus | Дата: Четверг, 23 Октября 2014, 12:43 | Сообщение # 5154 |
был не раз
Сейчас нет на сайте
| А никто не как сделать , чтобы во время переходов из комнаты в комнату все объекты , созданные в ходе игрового процесса , сохранялись ? И еще у меня есть переменная , от изменения значения которой зависит вся суть игры . Как сделать , чтобы во время переходов из комнаты в комнату переменная тоже сохранялась ?
|
|
| |
King | Дата: Четверг, 23 Октября 2014, 14:19 | Сообщение # 5155 |
участник
Сейчас нет на сайте
| Цитата Mikikus ( ) А никто не как сделать , чтобы во время переходов из комнаты в комнату все объекты , созданные в ходе игрового процесса , сохранялись ? Выдержка из справки: Цитата В вкладке settings (установки) имеются две вещи, о которых ещё не упоминали. Прежде всего, это переключатель под названием Persistent (Постоянная). Обычно, когда Вы покидаете комнату и возвращаетесь в неё позднее, данной комнате возвращаются её начальные установки. Это нормально, если в Вашей игре имеется большое количество уровней, но обычно это не совсем то, что Вам действительно нужно, например, в играх жанра RPG. Комната должна сохраниться в том же виде, какой Вы её видели в последний раз. Переключатель Persistent нужен именно для этого. Состояние комнаты будет запоминаться, и когда Вы в неё позже вернётесь, она будет точно такой, какой Вы её оставили. Состояние комнаты будет возвращено к первоначальному состоянию только после перезапуска игры. Правда, существует одно исключение. Если Вы отметили некоторые объекты как постоянные, то экземпляры таких объектов не будут сохраняться в указанной комнате, а будут перемещаться в следующую комнату. Или, как вариант, записывать куда-либо состояние комнаты. Цитата Mikikus ( ) И еще у меня есть переменная , от изменения значения которой зависит вся суть игры . Как сделать , чтобы во время переходов из комнаты в комнату переменная тоже сохранялась ? global.var не?
Nothing is true, everything is permitted. Shadows Games
Сообщение отредактировал King - Четверг, 23 Октября 2014, 14:27 |
|
| |
MrSlap | Дата: Четверг, 23 Октября 2014, 18:45 | Сообщение # 5156 |
почетный гость
Сейчас нет на сайте
| OpenGOO, не понял. Как это "добавить свои профили"? =)
Создаю интерактивную повесть.
|
|
| |
Mikikus | Дата: Пятница, 24 Октября 2014, 13:21 | Сообщение # 5157 |
был не раз
Сейчас нет на сайте
| Можно подробнее рассказать , как global.var использовать ?
|
|
| |
King | Дата: Пятница, 24 Октября 2014, 14:07 | Сообщение # 5158 |
участник
Сейчас нет на сайте
| Цитата Mikikus ( ) Можно подробнее рассказать , как global.var использовать ? [мысли]О Господи ты боже мой... Почему нельзя просто взять справку и посмотреть, там ведь даже поиск есть. Ладно, довольно вечных вопросов. [/мысли]
Конечно можно. В общем, если ты, объявляя переменную, перед ее именем напишешь global., то есть global.varible = true, это переменная станет глобальной, и будет видна всем объектам твоей игры, а так же она не умрет, если будет уничтожен объект в котором ты ее объявил. Это полезно, если тебе вдруг нужно иметь переменную, которую можно использовать вне зависимости от комнаты, без привязки к конкретному объекту и времени года. Из справки: Цитата Чтобы создавать глобальные переменные, которые будут видны всем экземплярам объектов, ставьте слово global и точку перед именем переменной. Например, Вы можете написать:
{ if (global.doit) { // что-то сделать global.doit = false; } }
Также Вы можете объявить переменные глобальными. Объявление выглядит так.
globalvar <varname1>,<varname2>,<varname3>, ... ; После такого объявления, переменная всегда будет считаться глобальной без надобности вставлять слово global и точку спереди её имени. Требуется всего один раз объявить её. После этого переменная будет рассмотриваться глобальной.
Забыл сказать, мало ли. Если ты объявил глобальную переменную первым способом, то есть поставив global. перед именем, в дальнейшем обращаться к переменной нужно так же, то есть с приставкой global
Nothing is true, everything is permitted. Shadows Games
Сообщение отредактировал King - Пятница, 24 Октября 2014, 14:45 |
|
| |
Mikikus | Дата: Пятница, 24 Октября 2014, 19:50 | Сообщение # 5159 |
был не раз
Сейчас нет на сайте
| Создаю игру на Android , комната слишком большая . Я бы мог создать невидимый объект , за которым бы двигалась камера , нарисовать стрелки , после нажатия которых двигался бы сам объект и вместе с ним камера . Но я не знаю как прикрепить эти стрелки по бокам экрана , чтобы они стояли и не двигались в зависимости от перемещения камеры . И вот как их нормально прикрепить , ведь надо еще учитывать разные экраны на телефонах , т.е каждая стрелка должна стоять по центру стороны экрана (левая кнопка должна быть по центру левой стороны и т.д) :/
|
|
| |
jayreck | Дата: Пятница, 24 Октября 2014, 22:05 | Сообщение # 5160 |
участник
Сейчас нет на сайте
| Mikikus, просто крепим рисовку стрелок к виду в комнате Draw:
Код //controller - имя спрайта draw_sprite(controller,0,view_xview[0]+60,view_yview[0]+200) // меняем числа 60 и 200 на нужные нам относительно вида
g-null-dc Ippolit - тамагоч немного моего пиксель арта
Сообщение отредактировал jayreck - Пятница, 24 Октября 2014, 22:06 |
|
| |
|