Результаты поиска
| |
Dva_Kota | Дата: Пятница, 24 Декабря 2010, 11:47 | Сообщение # 401 | Тема: Мои вопросы по моей игре |
заслуженный участник
Сейчас нет на сайте
| перед функцией Code draw_text(view_xview[0]+10,view_yview[0]+10,global.peremennaia) ставь функцию Quote draw_set_font(font) Устанавливает шрифт, который будет использоваться при рисовании текста. Используйте -1, чтобы установить встроенный по умолчанию шрифт Arial 12. Для цветного текста вместо Code draw_text(view_xview[0]+10,view_yview[0]+10,global.peremennaia) используй функцию Quote draw_text_color(x,y,string,c1,c2,c3,c4,alpha) Рисует строку в позиции (x,y) подобно вышеупомянутой функции. Четыре цвета определяют цвета левого верхнего, верхнего-правого, нижнего-правого, и нижнего-левого угла текста. alpha прозрачность, используйте (0-1).
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Dva_Kota | Дата: Пятница, 24 Декабря 2010, 09:08 | Сообщение # 402 | Тема: мои вопросы по game maker 8 |
заслуженный участник
Сейчас нет на сайте
| Сделай проверку "есть ли под игроком лестница". Если есть - стоим на лестнице и не проваливаемся. Это делается так же, как с полом. А лучше сделай маленький пример, в котором только "пол", твой "игрок" и "лестница" - так будет быстрее и проще сделать.
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 19:12 | Сообщение # 403 | Тема: Анимация в ГМ |
заслуженный участник
Сейчас нет на сайте
| image_speed - скорость анимации (1 - по умолчанию) чтобы анимация проигрывалась один раз в событии "конец анимации" ставь код:
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 18:47 | Сообщение # 404 | Тема: Старт в определённом уровне |
заслуженный участник
Сейчас нет на сайте
| В редакторе ГМ, в списке слева просто перетащи вторую комнату выше первой (они запускаются в том порядке, в котором там стоят).
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 18:19 | Сообщение # 405 | Тема: движущаяся платформа |
заслуженный участник
Сейчас нет на сайте
| Я код не стал писать по тому что не уверен правильный ли он будет. По этому просто расписал все как я это представляю. Ок. попробую сделать код: Code if place_meeting(x,y+1,obj_platforma) { speed+=instance_nearest(x,y,obj_platforma).speed; } Здесь просто добавление к скорости игрока скорости платформы (если делать платформу как я выше писал, то для изменения направления движения нужно менять не direction, а speed). Все остальные параметры, о которых я выше писал, нужно добавлять и экспериментировать с ними. На это у меня времени сейчас нет. Но если ты попробуешь что-то из выше перечисленного добавить - будет очень хорошо. Если что-то получится, выкладывай, пожалуйста.
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 18:05 | Сообщение # 406 | Тема: движущаяся платформа |
заслуженный участник
Сейчас нет на сайте
| ну я думаю что нужно проверять "есть ли под игроком платформа (например функцией place_meeting()) и если есть - добавлять к его скорости скорость платформы. А если платформа движется с постоянной скоростью, как в том примере что я описывал, нужно дополнительно проверять direction платформы и в зависимости от этого умножать скорость на -1 или не умножать. Так же нужно учитывать каким образом сделано движение игрока его скорость и направление движения (вдруг ты захочешь походить по платформе). Можно сделать чтобы игрок не мог ходить по платформе. Тогда еще проще: проверяешь стоит ли игрок на платформе и если стоит - привязывай его к координатам платформы. p.s.: повторюсь, я платформеры никогда не делал - это все только теория.
Новый пример инвентаря! /20.06.2012/
Energy Wars
Сообщение отредактировал Dva_Kota - Четверг, 23 Декабря 2010, 18:06 |
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 17:56 | Сообщение # 407 | Тема: мои вопросы по game maker 8 |
заслуженный участник
Сейчас нет на сайте
| Нет, ни так (тут он будет подниматься только при нажатии влево и вверх). Нужно вот так (Это только чтобы поднимался, чтобы опускался я думаю, ты уже догадаешься как сделать) Code if (keyboard_check(vk_right)) { x += 3; if (keyboard_check(vk_up)) { if (place_meeting(x+3,y-3,obj_ступенька)) { y -= 3; } } } else { if (keyboard_check(vk_left) ) { x -= 3; if (keyboard_check(vk_up)) { if (place_meeting(x-3,y-3,obj_ступенька)) { y -= 3; } } } } Этот код будет работать если лестница повернутоа в одну сторону, и если она повернута в другую сторону. MIKEL922, ты бы по понятнее писал что тебе нужно, мы же не можем твои мысли читать
Новый пример инвентаря! /20.06.2012/
Energy Wars
Сообщение отредактировал Dva_Kota - Четверг, 23 Декабря 2010, 17:58 |
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 16:53 | Сообщение # 408 | Тема: движущаяся платформа |
заслуженный участник
Сейчас нет на сайте
| Ну, вообще для горизонтальной платформы можно в создании не писать direction=0; speed=4; можно перенести в аларм (пусть каждый раз задает) Но аларм этот все равно нужно как-то запускать, по этому alarm[0]=1; в событии создания все равно ставить нужно. А вот расстояние al=100; можно, наверное, тоже поставить в аларм. В итоге получаем код, который нужно ставить в событие alarm0: Code al=100; speed=4; direction+=180; alarm[0]=al*speed; А в событии создание просто задаешь через сколько шагов после старта комнаты начнется движение платформы например Кстати, можно даже круче сделать! Можно не в создании задавать, а в любом событии при любом условии. Например у тебя есть яма. Через нее не пройти без движущейся платформы, а она на другом конце ямы стоит и не двигается.... Чтобы ее запустить нужно найти ключ. Находишь ключ, и при столкновении игрока с ключом (когда он его берет) запускаешь для платформы alarm[0]=1; и она начинает двигаться! Ну в общем тут уже куча всяких возможностей. Добавлено (23.12.2010, 16:53) --------------------------------------------- а вот для Вертикального движения нужно все равно в создании объекта писать
Новый пример инвентаря! /20.06.2012/
Energy Wars
Сообщение отредактировал Dva_Kota - Четверг, 23 Декабря 2010, 16:38 |
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 16:12 | Сообщение # 409 | Тема: Помогите соединить просто РПГ с примером ММО |
заслуженный участник
Сейчас нет на сайте
| Я в сетевых играх не спец, но одно могу сказать точно: соединить так просто две игры у тебя вряд ли получится. Сервер и клиент должны обмениваться определенными данными (координаты игроков и т.д.). Тебе нужно просто взять простенький пример онлайн игры, разобраться в нем и добавить Онлайн в свою игру (лучше делать сразу онлайн, а не добавлять потом - так проще будет).
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 16:02 | Сообщение # 410 | Тема: движущаяся платформа |
заслуженный участник
Сейчас нет на сайте
| Через аларм можно, оказывается, сделать на много проще чем то что я писал выше: В создании Code al=100; direction=0; speed=4; alarm[0]=1; Событие alarm0 Code direction+=180; alarm[0]=al*speed; Переменная al будет отвечать за расстояние , которое будет проходить платформа. Попробуй сделать этим кодом (его я тоже еще не проверял) Производительность с таким кодом будет на много выше.
Новый пример инвентаря! /20.06.2012/
Energy Wars
Сообщение отредактировал Dva_Kota - Четверг, 23 Декабря 2010, 16:03 |
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 15:54 | Сообщение # 411 | Тема: Помогите соединить просто РПГ с примером ММО |
заслуженный участник
Сейчас нет на сайте
| 1 файл (мморпг) - это какой-то онлайн-пример , а 2 - твоя игра? Я правильно понял? Твоя игра сейчас не онлайн и ты хочешь сделать из нее онлайн, я правильно понимаю? (файл у меня еще скачивается, по этому пока посмотреть не могу)
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 15:43 | Сообщение # 412 | Тема: движущаяся платформа |
заслуженный участник
Сейчас нет на сайте
| Для вертикальных точно так же. Только вместо x везде ставь y. Добавлено (23.12.2010, 15:40) --------------------------------------------- Можно двигать и по диагонали, и вообще под любым углом. Для этого делаешь как по горизонтали, только в степе direction увеличь на столько градусов, на сколько нужно изменить движение. Добавлено (23.12.2010, 15:42) --------------------------------------------- Но такой способ не самый хороший. Через alarm будет рациональнее (не будет лишних проверок каждый шаг) и тоже можно задавать расстояние. Если нужно распишу как именно. Добавлено (23.12.2010, 15:43) --------------------------------------------- А, забыл, для вертикальной еще нужно direction изменить: вместо 0 и 180 нужно 90 и 270 соответственно.
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 15:02 | Сообщение # 413 | Тема: движущаяся платформа |
заслуженный участник
Сейчас нет на сайте
| Тебе спасибо, я теперь хоть знаю как это делается (никогда платформеры не делал)
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 14:30 | Сообщение # 414 | Тема: движущаяся платформа |
заслуженный участник
Сейчас нет на сайте
| Я думаю можно сделать так (Пример для движения платформы горизонтально): В событии создания задаешь переменную (например start_x) и присваиваешь ей значение x потом задаешь еще одну переменную (например dist), и в нее записываешь расстояние, которое должна проходить платформа, например 100 потом задаешь направление движения и скорость Code direction=0; speed=4; в шаге делаешь проверку: Code if (x<start_x) { direction=0; } else { if (x>(start_x+dist)) { direction=180; } } Расстояние можно задавать для каждого экземпляра объекта "платформа" отдельно Вроде бы все. p.s.: я этот способ не проверял еще.
Новый пример инвентаря! /20.06.2012/
Energy Wars
Сообщение отредактировал Dva_Kota - Четверг, 23 Декабря 2010, 14:32 |
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 11:26 | Сообщение # 415 | Тема: Как сделать инвентарь в игре? |
заслуженный участник
Сейчас нет на сайте
| Я и не говорю что не рабочий. Просто мой тебе совет: про оптимизацию лучше подумать заранее (тем более когда тебе готовый код дают), чем потом, когда игра почти готова, но очччень тормозит, переделывать все и думать где бы лишний код убрать. Такие "мелочи" потом могут собраться в большие тормоза.
Новый пример инвентаря! /20.06.2012/
Energy Wars
Сообщение отредактировал Dva_Kota - Четверг, 23 Декабря 2010, 11:27 |
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 11:22 | Сообщение # 416 | Тема: Как сделать инвентарь в игре? |
заслуженный участник
Сейчас нет на сайте
| Я там немного напутал: Изменение переменнной должно стоять перед обнулением слотов. А вообще твой способ более громоздкий и менее рациональный.
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 11:09 | Сообщение # 417 | Тема: Как сделать инвентарь в игре? |
заслуженный участник
Сейчас нет на сайте
| zik13, ты думаешь что я тупой? Я вижу что это скрипт. Я имел ввиду что у тебя означает каждая строка. Просто ты не рационально код написал. А когда у тебя будет 50 предметов ты будешь 50 раз if писать? Это не есть хорошо. Тем более ты опять написал этот же скрпит. Я ведь тебе его подправил (на предидущей странице) - убрал лишнюю проверку. Вот такой шаблон второй части кода (начиная со строки if mouse_check_button_pressed(mb_right)): Code if mouse_check_button_pressed(mb_right) { if slot[argument0,1] = 1 {
slot[argument0,0] = 0 slot[argument0,1] = 0 slot[argument0,2] = 0 slot[argument0,3] = 0 slot[argument0,4] = 0 изменение переменноей игрока } else { slot[argument0,1] -= 1 изменение переменной игрока } } а проверку делай, всетаки через switch Вместо Code if slot[argument0,4] = s_heal_smoll { o_player.health+=15 o_player.hpdraw=15 instance_create(o_player.x,o_player.y-25,o_drawhp)} if slot[argument0,4] = s_heal_medyum { o_player.health+=30 o_player.hpdraw=30 instance_create(o_player.x,o_player.y-25,o_drawhp)} Ставь проверку через switch
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 10:47 | Сообщение # 418 | Тема: Как сделать инвентарь в игре? |
заслуженный участник
Сейчас нет на сайте
| Что то я не врубаюсь.... Что это?
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 10:44 | Сообщение # 419 | Тема: Как сделать инвентарь в игре? |
заслуженный участник
Сейчас нет на сайте
| Что по другому сделал? Опять новый инвентарь?
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Dva_Kota | Дата: Четверг, 23 Декабря 2010, 10:32 | Сообщение # 420 | Тема: Как сделать инвентарь в игре? |
заслуженный участник
Сейчас нет на сайте
| Quote (zik13) это воспроизведется не взависимости от предмета Ну конечно. Я думал ты догадаешься что вместо "изменение переменной игрока" нужно не просто изменять переменную, а предварительно проверить какой предмет в слоте. Проверку делай по индексу спрайта (он у тебя записан в slot[argument0,4]) или лучше по названию предмета (slot[argument0,4]). Проверку делай через switch. Пример: Code switch (slot[argument0,4]) { case 'Маленькое зелье hp': увеличение здоровья; break; case 'следующий предмет': увеличение следующего параметра; break; } Добавлено (23.12.2010, 10:32) --------------------------------------------- 2. Ты прописал в Draw рисование текста и не прописал рисование самого спрайта объекта. Посмотри, я недавно где-то писал как это исправить.
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
|