Результаты поиска
| |
MasterSambo | Дата: Воскресенье, 23 Июня 2013, 12:48 | Сообщение # 781 | Тема: Заявки на переход в группу "Проверенные" |
заслуженный участник
Сейчас нет на сайте
| Всё же решил добавить анкету заранее, хотя и знаю, что откажите. 1. Грамотность - у меня 5 по русскому языку; 2. Умение добавлять материалы - я добавил 2 файла; 3. Постоянство - частое присутствие на сайте; 4. Пока что нет; 5. Пока что нет; 6. Активное участие в обсуждениях - участвую в форумных играх, Game Maker и есть собственный готовый проект; 7. Нет нарушений и замечаний - 0%; 8. Положительная репутация - пока всего 4 репутации; 9. Полное согласие с правилами форума и сайта - я согласен; 10. Дружелюбность, уважительное отношение к участникам сообщества. Отсутствие конфликтов и противоречий. - я не участвую в конфликтах, могу выйти из плохого положения с помощью простых добрых слов.
|
|
| |
MasterSambo | Дата: Воскресенье, 23 Июня 2013, 12:37 | Сообщение # 782 | Тема: Статьи по Game Maker |
заслуженный участник
Сейчас нет на сайте
| Здраствуйте, посетители сайта! В этой статье я расскажу как сделать платформер за короткое время. Платформер - это простой жанр игры, в котором есть игрок, который бегает и собирает что-то. Приступим! Открываем Game Maker. Создаём два спрайта: player - наш игрок wall - блок, стена.
Создаём такие же объекты. Работаем с игроком. Делаем событие создание и вписываем код: if place_free(x,y+1) {gravity = 0.5} else {gravity = 0} gravity_direction = 270 if vspeed > 10 {vspeed = 10} if keyboard_check(vk_right) && place_free(x+4,y) {x+=4} if keyboard_check(vk_left) && place_free(x-4,y) {x-=4} if keyboard_check_pressed(vk_up) && !place_free(x,y+1) {vspeed = -8}
То есть в первых строках идёт гравитация, а потом управление игроком. Далее в очереди событие столкновение с объектом wall. Вписываем простой скрипт: if wall.solid = 1 { vspeed = 0 }
Всё, игрок готов! Переходим на работу со стеной. Внимание: стену как обычно мы привыкли делать твёрдой не делаем (в нашей игре можно прыгать снизу блока, но нельзя сверху). Делаем событие создание и пишем код: solid = 1 Это значит, что твёрдость у стены равна одному. Теперь создаём событие степ (шаг) и вписываем скрипт: with player { if vspeed > 0 { if !place_meeting(x,y,wall) { with wall { solid = 1 } } } } with player { if vspeed < 0 { if !place_meeting(x,y,wall) { with wall { solid = 0 } } } } Не будем говорить про этот скрипт, хотя он и важен (скажу только то, что он связан с прыжком: снизу можно, а сверху нет) Всё! Расставляем объекты в комнате.
Запускаем игру. Спасибо за внимание!
Добавлено (21.06.2013, 17:03) ---------------------------------------------Добавлено (23.06.2013, 12:36) --------------------------------------------- Добрый день! Я хочу рассказать как сделать игру типа angry birds. Я думаю, что все слышали о ней. Для начала сделаем спрайты: s_bird - птица s_enemy - враг s_block - блок Создаём объекты с соответствующими спрайтами: о_bird - птица о_enemy - враг о_block - блок Переключаемся на работу с объектом птицы. Добавляем событие создание и пишем код: gravity = 0.2; gravity_direction = 270; varDrag = false;
Добавляем столкновение с другой птицей и пишем код: varDir = point_direction(x, y, other.x, other.y); with (other) { motion_add(other.varDir, other.speed/2); }
move_bounce_all(true); vspeed = vspeed / 2; hspeed = hspeed * 0.50;
Теперь столкновение со стеной: move_bounce_all(true); vspeed = vspeed / 2; hspeed = hspeed * 0.90;
Создаём событие левая кнопка мыши нажата и пишем супер-простой скрипт: varDrag = true;
И наконец событие глобальная левая кнопка мыши. Добавим скрипт: if (varDrag = true) { varDist = distance_to_point(mouse_x, mouse_y) / 5; motion_add(point_direction(x, y, mouse_x, mouse_y), varDist); varDrag = false; }
Переходим на работу со стеной: Просто ставим галочку на твёрдый. Желательно создать ещё одну стену в виде горки и тоже отметить твёрдость. Так как птица с гравитацией, она прокатится по ней. Ну и враг. Сделаем столкновение с птицей и создадим действие исчезновения (если хотите, добавьте функцию добавления очков) и событие уничтожение. Готово! Запускаем игру и наслаждаемся! Внимание! Если видите ошибку сообщите в коментариях и я всё исправлю! Добавлено (23.06.2013, 12:37) --------------------------------------------- Здравствуйте все! Сегодня я расскажу о скриптах.Часто в играх требуются скрипты для движений объектов, а не только в 8-ми направлениях. Здесь я вам предлагаю базовый набор скриптов для игр. [iскриптов. Создаём спрайт и объект. У спрайта отмечаем center. Добавляем событие Step. Пишем скрипт: image_angle=point_direction(x,y,mouse_x,mouse_y). Если вы хотите, чтобы объект летел за мышью, то введите другой скрипт: x=mouse_x y=mouse_y С этим объектом можно сделать такую игру: Объект летит к выходу через лабиринт(разумеется вы его ведёте).Если столкнётся со стеной то отскочит на стартовое место, а если доберётся до выхода, то перейдёт на следующий уровень.Дальше сами! Движение за объектом: x=название объекта за которым ты следуешь.x y=название объекта за которым ты следуешь.y Объект поворачивается за объектом: image_angle=point_direction(x,y,Player.x,Player.y) Событие Draw, смена цвета объекта на выбор игрока: image_blend=get_color(c_red) Объект постепенно летит за мышкой: direction=point_direction(x,y,mouse_x,mouse_y) speed=8 Вот вам красочный эффект: effect_create_above(ef_cloud, random(room_width), random(room_height), irandom(2), choose(c_red, c_yellow, c_blue, c_orange, c_fuchsia)) Обводка текста: var _x, _y, _text, _color1, _color2, _alpha; _x = argument0; // х координата _y = argument1; // у координата _text = argument2; // Текст _color1 = argument3; // Цвет обводки _color2 = argument4; // Цвет текста _alpha = argument5; // Прозрачность обводки
draw_set_color(_color1); draw_set_alpha(_alpha); draw_text(_x + 1, _y, _text); draw_text(_x - 1, _y, _text); draw_text(_x, _y + 1, _text); draw_text(_x, _y - 1, _text);
draw_set_color(_color2); draw_set_alpha(1); draw_text(_x, _y, _text); Скрипт для выбора случайной переменной: mas_x[0]=1; mas_x[1]=2; mas_x[2]=3; mas_x[3]=4; mas_x[4]=5; mas_x[5]=6; mas_x[6]=7; mas_x[7]=8; mas_x[8]=9; mas_x[9]=10; mas_x[10]=11; mas_x[11]=0; //последний+1 элемент должен быть пустым //то есть содержать ненужное значение mas_l = 10; //количество элементов массива Далее скрипт, получающий случайный элемент из этого массива: var mas1,mas_n,buf;
if mas_l=0 {return 0;} //если закончились элементы, возвращать что-нибудь
mas_n=irandom(mas_l); //случайный индекс элемента. выбирается из имеющегося количества mas1=mas_x[mas_n]; //получили элемент
for (j=mas_n; j<mas_l; j+=1) //переместить полученный элемент в конец массива {buf=mas_x[j+1]; mas_x[j+1]=mas_x[j]; mas_x[j]=buf;}
mas_l-=1; //уменьшить количество элементов на 1
return mas1; //получили элемент Замена символов в тексте на другие: var t, t1, t2; t=argument0; while !(string_pos(argument1,t)=0) { len=string_pos(argument1,t); t1=string_copy(t,0,len-1); t2=string_copy(t,len+1,string_length(t)-len+1); t=string(t1)+string(argument2)+string(t2); } return t; Сокращение текста до определённой длинны: text = argument0; short = argument1; if (string_length(text) > short) { text = string_delete(text, short + 1, string_length(text) - short + 1) + '...'; } return text; Рисование цветка: Sname=part_system_create();
particle1 = part_type_create(); part_type_shape(particle1,pt_shape_line); part_type_size(particle1,0.10,0.10,0,0); part_type_scale(particle1,1,1); part_type_color1(particle1,16711680); part_type_alpha1(particle1,1); part_type_speed(particle1,1,1,0,0); part_type_direction(particle1,0,359,0,0); part_type_gravity(particle1,0,270); part_type_orientation(particle1,0,0,0,0,1); part_type_blend(particle1,1); part_type_life(particle1,60,160);
emitter1 = part_emitter_create(Sname); part_emitter_region(Sname,emitter1,x,x,y,y,0,0); part_emitter_stream(Sname,emitter1,particle1,5);
attract1 = part_attractor_create(Sname); part_attractor_position(Sname,attract1,340,241.50); part_attractor_force(Sname,attract1,0.50,100,1,1); Прокачка без знания математики (в рпг): /*************************************************** Скрипт линейной интерполяции
не перепутать пределы, последними идут мин-макс пределы того значения, которое надо вычислить! scr_linear_interpolation(x0,x1,x2,y1,y2) ***************************************************/
var x0,x1,x2,y0,y1,y2; x0=argument0; //известная переменная x x1=argument1; //минимальный предел x1 x2=argument2; //максимальный предел x2 y1=argument3; //мин. y1 y2=argument4; //макс. y2
y0=((y2-y1)/(x2-x1))*(x0-x1)+y1; return y0; //неизвестная требуемая переменная Надеюсь это вам поможет! Внимание! Если вы увидели ошибки, то сообщите мне! И ещё: старайтесь не копировать скрипты (я вам не запрещаю копировать), а понимать их. Если все будут копировать, то толком ничего не усвоят и не поймут и в дальнейшем будут всё время спрашивать скрипты на форуме, а скрипты предоставляют для усвоения и для того, чтобы в дальнейшем вы сами смогли составить скрипт!
Сообщение отредактировал arkady - Воскресенье, 23 Июня 2013, 12:36 |
|
| |
MasterSambo | Дата: Воскресенье, 23 Июня 2013, 12:33 | Сообщение # 783 | Тема: ДеОбломай-ка |
заслуженный участник
Сейчас нет на сайте
| Вот и здрово! Могу начать сначала!
Приобрёл калькулятор, а он неправильно считает...
|
|
| |
MasterSambo | Дата: Воскресенье, 23 Июня 2013, 12:26 | Сообщение # 784 | Тема: Несколько вопросов по Game Maker |
заслуженный участник
Сейчас нет на сайте
| Цитата (hamster98) 1)Как загрузить файлы .nfo в Game Maker?(те что в кряках разных) Лучше скачайте патч.
|
|
| |
MasterSambo | Дата: Воскресенье, 23 Июня 2013, 12:23 | Сообщение # 785 | Тема: Рифмаплёт |
заслуженный участник
Сейчас нет на сайте
| ТЛТ - лучший администратор на земле!
Шумовка
|
|
| |
MasterSambo | Дата: Воскресенье, 23 Июня 2013, 12:11 | Сообщение # 786 | Тема: Да,но... |
заслуженный участник
Сейчас нет на сайте
| Да, но я могу прекрасно поплавать на букашечном пароходе и на реке.
|
|
| |
MasterSambo | Дата: Воскресенье, 23 Июня 2013, 12:10 | Сообщение # 787 | Тема: Самое противное. Форумная игра |
заслуженный участник
Сейчас нет на сайте
| А полная бутыль мочи с землёй, с кококоллой, противнее пакета с какашками.
|
|
| |
MasterSambo | Дата: Воскресенье, 23 Июня 2013, 12:09 | Сообщение # 788 | Тема: ДеОбломай-ка |
заслуженный участник
Сейчас нет на сайте
| И теперь есть возможность назвать себя так, как я желаю. Купил бракованный ноутбук...
|
|
| |
MasterSambo | Дата: Суббота, 22 Июня 2013, 16:58 | Сообщение # 789 | Тема: Красная кнопка |
заслуженный участник
Сейчас нет на сайте
| Там конец существует?
|
|
| |
MasterSambo | Дата: Суббота, 22 Июня 2013, 16:53 | Сообщение # 790 | Тема: Форумная игра без названия |
заслуженный участник
Сейчас нет на сайте
| Пользователь, с 60% замечаний, и на аватаре у, которого чувак с птичей головой.
|
|
| |
MasterSambo | Дата: Суббота, 22 Июня 2013, 16:50 | Сообщение # 791 | Тема: Да,но... |
заслуженный участник
Сейчас нет на сайте
| Да, но поэтому мне легко поплавать в луже
|
|
| |
MasterSambo | Дата: Суббота, 22 Июня 2013, 16:08 | Сообщение # 792 | Тема: Рифмаплёт |
заслуженный участник
Сейчас нет на сайте
| Штрибан - за мудрость не получит бан
Отличник
|
|
| |
MasterSambo | Дата: Суббота, 22 Июня 2013, 15:56 | Сообщение # 793 | Тема: Самое противное. Форумная игра |
заслуженный участник
Сейчас нет на сайте
| Бан на сайте, противней чем гей-парад в Киеве.
|
|
| |
MasterSambo | Дата: Пятница, 21 Июня 2013, 15:52 | Сообщение # 794 | Тема: Викинги - [Арканоид] |
заслуженный участник
Сейчас нет на сайте
| Да да.
|
|
| |
MasterSambo | Дата: Пятница, 21 Июня 2013, 11:57 | Сообщение # 795 | Тема: Викинги - [Арканоид] |
заслуженный участник
Сейчас нет на сайте
| Жанр игры: Арканоид Игра сделана на: Game Maker Пространство: 2D Вид: спереди Используется язык: GML Платформа: MS Windows Язык игры: Только русский (перевод не требуется) API: DirectX Лицензия: Бесплатно Скачать можно здесь: тык См.также: Викинги 2
Сообщение отредактировал MasterSambo - Понедельник, 17 Августа 2015, 08:28 |
|
| |
MasterSambo | Дата: Пятница, 21 Июня 2013, 11:19 | Сообщение # 796 | Тема: Вопрос - Ответ (Game Maker) |
заслуженный участник
Сейчас нет на сайте
| Как сделать так чтобы: Если ты не прошёл первый эпизод, то во второй играть не получиться (будет сообщение: пройдите предыдущий эпизод), а если я прошёл первый, то могу играть во второй, потом прохожу его и играю в третий и т.д)?
|
|
| |
|