Поиск по сайту
Авторизация
Меню сайта
Категории
Индустрия видеоигр [7] |
Разработка игр [64] |
Гейм-дизайн и графика [11] |
Сторонние движки и конструкторы [1] |
Прочее [3] |
Уроки по Game Maker [3] |
Game Maker
Если вы только-только начали изучать игрострой и еще даже не успели скачать сам
Game Maker, предлагаем вам на выбор следующие версии программы:
Game Maker 8.1
Классика. Идеально подходит для создания простых 2D игр на PC. Требует активации. | |
Game Maker for Mac
Абсолютно та же программа, но только для пользователей Mac. Требует активации. | |
Game Maker Studio
Самая новая версия с возможностью кроссплатформенной разработки. Бесплатна. |
Топ 5 игр
Агент Green | 4.2 / 5.0 |
FeDo | 4.2 / 5.0 |
To Mars: Sec... | 4.2 / 5.0 |
To Mars+MapE... | 3.9 / 5.0 |
Paintball | 3.8 / 5.0 |
Топ игр составлен путем пользовательского голосования.
Если вы не согласны с какой-либо оценкой, примите участие и поставьте свой балл игре. Ваша оценка очень важна для нас ;)
Главная » Статьи » Разработка игр |
Скрипты
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; //неизвестная требуемая переменная Надеюсь это вам поможет! Внимание! Если вы увидели ошибки, то сообщите мне! И ещё: старайтесь не копировать скрипты (я вам не запрещаю копировать), а понимать их. Если все будут копировать, то толком ничего не усвоят и не поймут и в дальнейшем будут всё время спрашивать скрипты на форуме, а скрипты предоставляют для усвоения и для того, чтобы в дальнейшем вы сами смогли составить скрипт! | |
Просмотров: 7287 | Комментарии: 15 | Рейтинг: 4.7/6 |
Всего комментариев: 15 | 1 2 » | |||||||
| ||||||||
1-10 11-11 | ||||||||