Суббота, 16 Ноября 2024, 19:43

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (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 не создается вообще wacko
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 использовать ? surprised
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
Поиск:

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