| Разработка и ромхакинг > Разработка игр |
| Game Maker обсуждение и хелп |
| << < (8/22) > >> |
| Teffycom:
Kostey D., спасибо, все работает) |
| Segaman:
Люди, а как платформер сделать, чтоб можно было по кривым порхностям ходить. например по диагонали |
| Kostey D.:
Лично помочь не могу, но у меня на ХД есть несколько примеров, только у всех у них проблема есть небольшая - когда спускаешься, игрок как бы "падает" слегка. Я не сравнивал их, поэтому не могу гарантировать, что это лучший вариант, но тем не менее смотри в аттаче и отпишись когда скачаешь - я удалю, а то не хорошо чужую работу так выкладывать. |
| Segaman:
--- Цитата: Segaman от 08 Октябрь 2009, 00:57:28 ---люди, кто знает, как пользоваться surface, и как их рисовать? --- Конец цитаты --- --- Цитата: Kostey D. от 08 Октябрь 2009, 04:02:12 ---Лично не знаю, не пробовал никогда, но в хелпе есть все функции связанные с ними, в том числе и draw, только там примечания ещё надо почитать. В хелпе - Game Maker Language - Game Graphics - Drawing Surfaces --- Конец цитаты --- Я имел ввиду, как их редактировать в реальном времени. мне надо создать большую поверхность, прорисовать её последовательностью спрайтов и рисовать выбранную часть в окне. |
| Kostey D.:
Я только что прочитал хелп, попытаюсь набрасать алгоритм не тестируя --- Код: ---img=surface_create(w,h) surface_set_target(img) //по идее, всё последующее рисуется на сёрфасе //x и у должны быть числами скорее всего draw_sprite(x,y,subimg,sprite1) draw_sprite(x,y,subimg,sprite2) draw_sprite(x,y,subimg,sprite3) surface_reset_target() //это уже рисует сам сёрфейс, все draw десйствия уже рисуются на экране draw_surface(img,x,y) //или draw_surface_general(id,left,top,width,height,x,y,xscale,yscale,rot,c1,c2,c3,c4,alpha) //чтобы сохранить изображение можно использовать //surface_save(id,fname), а потом грузить как картинку и рисовать --- Конец кода --- Возможно всё до draw_surface(img,x,y) можно сделать в креэйте или другом эвенте, чтобы был фиксированный эффект. Думаю сначала можно потестировать код в драве, а потом пытаться в креэйте. Сохранять скриншот сёрфэйса и обновлять копию на ходу тоже может быть хорошей альтернативой: типа хранить спрайт как скриншот последнего сёрфейса и на нажатие кнопки добавлять этот спрайт в драв сёрфейса + новый спрайт поверх - таким образом не надо будет держать позиции спрайтов, потому что x и y дожны от куда-то браться. Если так не понятно, можешь глянуть surface_copy(destination,x,y,source) так даже лучше будет ибо не надо сохранять файл и загружать его. |
| Segaman:
огромное спасибо. в жизни бы недогадался :D |
| Segaman:
--- Цитата: Kostey D. от 01 Ноябрь 2009, 15:10:23 ---Я предполагаю, что кнопка проверяется через скрипт в степе подобным макаром. --- Код: ---if mouse_x>100 if mouse_x<200 if mouse_y>50 if mouse_y<100 { sound_play(sound1) some_action() } --- Конец кода --- тогда в креэйте создай переменную ccc ccc=0 теперь степ становиться чем-то вроде --- Код: ---if ccc>-10 ccc-=1 if mouse_x>100 if mouse_x<200 if mouse_y>50 if mouse_y<100 { if ccc<1 { sound_play(sound1) } ccc=60 //2 секунды some_action() } --- Конец кода --- --- Конец цитаты --- попробовал я код такого тима. не помогает есть что- нибудь ещё на примете? Добавлено позже: --- Цитата: Cool-Spot от 29 Октябрь 2009, 08:42:48 ---Нельзя использовать скрипты, пути, размер комнаты строго по размеру экрана. Ссылка нужна? --- Конец цитаты --- А тексты в переменных вида --- Код: ---global.code[46]="draw_text(global.arg[0],global.arg[1],global.arg[2])" --- Конец кода --- он держит? |
| Kostey D.:
--- Цитата: Segaman ---попробовал я код такого тима. не помогает --- Конец цитаты --- там порядок действия важен, если строчка выше/ниже, логика уже не так работать будет. Самый верный вариант иметь переменную, 1 или 0, если 0 - обрабатывать скрипт, если 1 - скрипт был обработан и больше работать не должен. Если курсор не на кнопке - ставить 0. Можешь хотя бы пример из своего скрипта скинуть, одну и ту же вещь каждый может делать по-своему разными способами, и ещё бывают какие-то осложнения, которые могут сделать тот или иной код неподходящим в конкретной ситуации. |
| Segaman:
Люди! кто знает почему, когда я создаю поверхность(surface) после создания и нарисования другой поверхности она жуётся и неподдаётся нормальной прорисовке? вместо этого она очень неплохо смешивается с предыдущей, да ещё и искажается, хотя цель рисования я сбросил. вообщем обьясните, как их создавать, удалять и как безопасно их рисовать |
| Blood:
Доброго времени суток. Я недавно задумал сделать небольшую игрушку под впечатлением от двух произведений про людей с способностями : Герои и Тёмнее Чёрного ( Darker Than Black). Я решил, что делать сингл-плеерную игру нет смысла, а потому сделал мультиплеер. Но опять же, я совершенно не представляю, в каком жанре должна быть игра, а потому пока-что сделал обычный Deathmatch в стиле CS. Суть игры - в небольшой комнате-лабиринте с видом сверху можно ходить и стрелять. Пули бесконечны, всего один тип патрона. НО! Каждому случайным образом даётся одна из 8 суперспособностей. Описание их ниже. После смерти и респауна способность меняется. У каждой свои достоинства и недостатки, способность тратит энергию. Нет энергии - нет способности, но энергия со временем восстанавливается. Так что будьте аккуратны. Описание Способностей : --- Цитата ---Все, абсолютно все они активируются/деактивируются или используются правой кнопкой мыши. Суперскорость : некоторое время вы можете бегать с большой скоростью, активировав силу. Правой кнопкой мыши она и выключатеся. На суперскорости легче уворачиваться от пуль, но пока конкретного смысла она не несёт - аптечек-то ещё нет. Невидимость : ну тут всё понятно. Включается и выключается правой кнопкой мыши. Вы себя видите, остальные вас не видят. Но если вас заморозят или попадут огнём - держитесь. Телепортация : по нажатию правой кнопки мыши вас телепортирует в точку прицела. Единственная способность, позволяющяя оказаться в недосягаемых отделах локации. Регенерация : заживляет вас, что довольно полезно против обычных пуль. Но от суперсил это вас не спасёт. Пирокинез : стерляете мощными огненными зарядами, те мало того что наносят нехилый урон, так после них некоторое время противник горит, что продолжает наносить ему урон или просто ЖЕЧЬ! ;) Заморозка : Ну тут всё понятно. Аналог Пирокинеза, только заряды ледяные и потому на время замораживают врага. Телекинез : в точке, куда вы целитесь возникает ваш телекенетический импульс, которые останавливает в воздухе все пули и снаряды и делает их неопасными для вас. Весьма полезно в некоторых ситуациях. Электричество : в месте вашего прицела возникают весёлые молнии, которые делают врагу весьма больно, отключая его способность (если та включена) и снижая скорость. (не действует на людей с такой же способностью) --- Конец цитаты --- ----------------------------------------------------------------------------- Архив, тест 2| Скачать ----------------------------------------------------------------------------- Распакуйте архив в любую папку. В нём два exe-файла - Сервер и сама игра. Один из игроков запускает у себя сервер, тот включается и говорит ему IP, по которому к этому серверу можно законнектиться. После чего этот айпи можно сказать другим игрокам, те запускают саму игру, и коннектятся к нему. Кроме того самому "хозяину сервера" нужно запустить ещё и приложение и самому к себе приконнектится. Фаерволы и Антивирусы могут запрещать работу приложению, сделайте исключение. Это не вирусы, а просто неизвестные ему приложения требующие сетевого доступа. Максимальное количество игроков : 20 Внимание : зачастую из-за запущенного сервера у вас в приложении может упасть FPS, те кто держит сервер, постарайтесь закрыть все лишние приложения, в том числе и те что связаны с интернетом. Ах да, совсем забыл. Управление : --- Цитата ---WASD - перемещение. Мышь - движение прицела и поворот игрока. Чтобы вам было понятнее, нажав кнопку W игрок всегда бежит к точке прицела, а не просто вверх. А нажав S он побежит назад от прицела. В общем, разберётесь. Левая кнопка мыши - стрелять простыми бесконечными пулями. Правая кнопка мыши - использовать Способности. shift - вход/выход из режима чата. --- Конец цитаты --- Команды для сервера : --- Цитата ---pm Nickname text - отправить игроку с ником Nickname определённый text. (Там именно пробелы, а не подчёркивания) kick Nickname - кикнуть определённого игрока. ipkick 127.0.0.1 - кикнуть игрока с IP 127.0.0.1 (для случаев, когда по нику кикнуть не удаётся). --- Конец цитаты --- Вот собственно и всё. Оставляю эту бету на ваш суд. ;) О всех ошибках, странностях и ваших предложениях докалывайте сюда, я собираюсь модернизировать игру шаг за шагом, делать разделение на команды "Героев и Злодеев", чтобы игра стала больше напоминать CS. |
| Киба:
Blood, незнаю, только у меня так или так задумано но стрейф инвертирован. А вообще молодец. У меня мозга не хватило разобраться с 39.dll. Я тоже хотел сетевой шутер замутить на базе этого движка. может ты исходник мне покажешь для ознакомления? |
| Blood:
Киба, в следующей версии я сделаю настройки управления. Разумеется, о чём вопрос : Вот исходник от которого я отталкивался. Правда функции чата, и пули пришлось додумывать самому, но это совсем не трудно. http://depositfiles.com/files/ir56wg4fw |
| Киба:
Blood, во во, я от него же отталкивался но что то у меня не срослось... Ладно как нибудь ещё поковыряю. Спасиб. |
| Blood:
Проверь ЛС. Думаю, мы сможем договориться. |
| Segaman:
Люди, посоветуйте длл-ку для проигрывания звука. желательно с такими функциями как паннинг, громкость, пауза и прыжок на позицию. как saudio, ток там 2 первых вышеперечисленных функций нет |
| NuM:
Blood, по нету походу в любом случае тормозить будет, если тсп юзать |
| Sonic13:
КТО НИБУДЬ СКИНЬТЕ ИГРУ НА ЛАЙТ ВЕРСИЮ Добавлено позже: ПЛИЗ |
| Kostey D.:
Sonic13, В самом ГМ есть примеры в папке Examples, ищи эту папку куда ты устанавливал игру, там как минимум hit the ball должен на лайт идти. |
| Segaman:
Люди! а как сделать так, чтобы пути, с разными растояниями, проходили одновременно? Всмысле, у меня 2-е точки должны придти из начала в конец одновременно, учитывая, что расстояние, которое им следует пройти, разное. |
| NuM:
расчитывай скорость в зависимости от длины пути |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |