Скрипты - Разработка игр - Каталог статей - Game Maker
Четверг, 08.12.2016, 12:46
Главная Регистрация RSS
Приветствую Вас, Гость
Меню сайта
Файлы и ресурсы
Топ 5 участников
1. BRESS
Репутация: 221
Сообщений на форуме: 3239
2. Gracio001
Репутация: 181
Сообщений на форуме: 1370
3. Xomafok
Репутация: 164
Сообщений на форуме: 947
4. FarEastKmS
Репутация: 125
Сообщений на форуме: 359
5. aHDp
Репутация: 114
Сообщений на форуме: 755
Топ 5 игр
Agent Green 4.6 / 5.0
Wartime 4.3 / 5.0
FeDo 4.0 / 5.0
Adventures: ... 4.0 / 5.0
Secretive ha... 4.0 / 5.0

Топ игр составлен путем пользовательского голосования.

Если вы не согласны с какой-либо оценкой, примите участие и поставьте свой балл игре. Ваша оценка очень важна для нас ;)
Статистика



На сайте: 6
Гостей: 6
Пользователей: 0
MasterSambo
Просмотров страницы:
4711

Рейтинг материала:

Другие работы автора:
- -

Поиск по сайту
Game Maker
Если вы только-только начали изучать игрострой и еще даже не успели скачать сам Game Maker, предлагаем вам на выбор следующие версии программы:

Game Maker 8.1
Классика. Идеально подходит для создания простых 2D игр на PC. Требует активации.
Game Maker for Mac
Абсолютно та же программа, но только для пользователей Mac. Требует активации.
Game Maker Studio
Самая новая версия с возможностью кроссплатформенной разработки. Бесплатна.
Войти на сайт

Мини-чат
300

Так как чат открыт для всех, просьба отнестись с уважением к другим посетителям и не писать осознанно посты, оскорбляющие кого-либо, содержащие открытую рекламу/спам. Спасибо за понимание! :)
Опрос
Чем привлекает Вас этот сайт?
Всего ответов: 451
Мы в Вконтакте
Главная » Статьи » Разработка игр

Скрипты
Здравствуйте все! Сегодня я расскажу о скриптах.Часто в играх требуются скрипты для движений объектов, а не только в 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; //неизвестная требуемая переменная
Надеюсь это вам поможет!
Внимание!
Если вы увидели ошибки, то сообщите мне! И ещё: старайтесь не копировать скрипты (я вам не запрещаю копировать), а понимать их. Если все будут копировать, то толком ничего не усвоят и не поймут и в дальнейшем будут всё время спрашивать скрипты на форуме, а скрипты предоставляют для усвоения и для того, чтобы в дальнейшем вы сами смогли составить скрипт!
Категория: Разработка игр | Добавил: MasterSambo (11.11.2012)
Просмотров: 4711 | Комментарии: 15 | Рейтинг: 4.7/6
Всего комментариев: 151 2 »
14 123456   (26.09.2013 22:01)
анимированая игра

13 123456   (26.09.2013 22:00)
люди как написать код для отпуска кнопки
чтоб чувак остановился

15 paliychukvlad   (04.05.2015 11:57)
paliychukvlad даже код не нужен

12 Славян   (27.06.2013 16:29)
Славян Ой, я вообще со скриптами не дружу.

11 Цезарь   (27.06.2013 16:17)
[b]Аgent,[b\] не за что!

10 Agent   (09.06.2013 12:48)
Agent Спасибо, помог!

9 MasterSambo   (07.05.2013 11:18)
MasterSambo Ну, как вам изменения?

7 Jenese   (12.01.2013 21:29)
Jenese вместо direction=point_direction(x,y,mouse_x,mouse_y)
speed=8
можно написать move_towards_point(mouse_x,mouse_y,5) , где 5 - скорость, просто чуть чуть меньше писанины.
Может кто знает, как сделать движение объекта как в стратежках (выделение, указание точки, передвижение)???

8 Gracio001   (15.04.2013 17:41)
Gracio001 Знаю, скажи когда выйдешь - попробую тебе объяснить в ЛС

6 РедкийЧел   (25.11.2012 19:38)
РедкийЧел Да, намного лучше! Только попробуй каждый скрипт отделять от обычного текста курсивом, также разделять двойным абзацем и распределять по пунктам! biggrin

5 BRESS   (12.11.2012 16:07)
BRESS Нет... Это не статья... Честно... sad

2 MasterSambo   (11.11.2012 14:20)
MasterSambo Конечно! Изменю название и скриптов напишу!

3 koaran   (11.11.2012 14:22)
koaran Ждем happy

4 koaran   (11.11.2012 14:39)
koaran Ок. Активирую.

1-10 11-11
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]