Понедельник, 09.12.2024, 09:47
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
10 полезных скриптов для Game maker
LumenaXДата: Вторник, 01.04.2014, 19:24 | Сообщение # 1
Новичок
Группа: Пользователи
Сообщений: 13
Награды: 0
Репутация: 10
Статус: Offline
1.Гравитация (писать в step)
gravity_direction = 270 
if place_free(x,y+1) 
gravity = 2 
else 
gravity = 0
 
2.Повернуть объект туда куда смотрит мышка (писать в step)
if mouse_x < x 
{
image_xscale = -1 
else 
{
image_xscale = 1 
}

3.Код при столкнавение с твёрдым объектом(блоком)
if (vspeed > 0 && not place_free(x,y+vspeed)) {
move_contact(270); 
vspeed = 0;

 }
3.АИ интелект (проще говоря бот)
gravity_direction = 270 
if place_free(x,y+1) 
gravity = 2 
else 
gravity = 0 
if instance_exists(o_man) >0 
{
if distance_to_object(o_man) <400 
if !collision_line(x,y,o_man.x,o_man.y,o_block,false,false) 
{
zametil = true 
}
else 
{
zametil = false 
}

if zametil = true 
{
if o_man.x < x 
if distance_to_object(o_man) > 64
{
if place_free(x-3,y) 
{
x-=3; image_speed = 0.2; image_xscale = 1 
}
if not place_free(x-3,y) 
{
vspeed = -20 
}
}
if o_man.x > x 
if distance_to_object(o_man) > 64
{
if place_free(x+3,y)
{
x+=3; image_speed = 0.2; image_xscale = -1
}
if not place_free(x+3,y)
{
vspeed = -20
}
}
}
if zametil = false //А если ГГ незамечен
{
image_speed = 0 //То скорость анимации 0
}

if hp <=0 //Если здоровье меньше или равно нулю
{
instance_create(x,y,argument0) //То создать аргумент0
instance_create(x,y,argument1) //То создать аргумент1
instance_destroy() //Уничтожиться
}
}


4.Как сделать здоровье
В create ГГ пишем 
hp = 100
При столкновение с пулей пишем
hp -=15 //15 это есть сколько отнимается hp при столкновении с пулей
5.Прыжок
if not place_free(x,y+1)
{
vspeed = -20
 }

6.Прицел (самый лёгкий способ) в step прицела
cursor_sprite= s_pryzel
window_set_cursor(cr_none);
o_cursor.x = mouse_x
o_cursor.y = mouse_y

7.Как сделать healthbar
draw_healthbar(view_xview[0] + 20,view_yview[0] + 20,view_xview[0] + 220,view_yview[0] + 40,health,0,c_red,c_green,0,0,1);
8.Как сделать очки. В create ГГ пишем:

В столкновение игрока с деньгами пишем:
money+=5
В столкновение денег с игроком пишем:
instance_destroy()
9.Когда нету hp у игрока должен появляться объект умершего игрока. Как???? (В step)
if health <=0 
{
instance_create(x,y,o_mandead) 
instance_destroy() 
 }

А в объект умершего игрока пишем
gravity = 2
gravity_direction = 270
image_speed = 0
if o_enemy.x < x
{
motion_set(45,20)
}
else
{
motion_set(135,20)
image_xscale = -1
 }

А в столкновение умершего игрока с блоком пишем:
vspeed = 0
friction = 0.8
10.Как сделать кровь
Создаёте объект кровь
В step пишите:
image_speed = 0.6 // например
В Animation End пишите:
instance_destroy()
А в столкновение пули с врагом пишите
instance_create (x,y,o_blooooood)
Потом напишу ещё пару скриптов полезных
 
BRESSДата: Вторник, 01.04.2014, 21:18 | Сообщение # 2
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
Какому-нибудь ньюфагу, возможно, это пригодится. Но в целом без контекста эти скрипты бесполезны.

Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
LumenaXДата: Вторник, 15.04.2014, 14:49 | Сообщение # 3
Новичок
Группа: Пользователи
Сообщений: 13
Награды: 0
Репутация: 10
Статус: Offline
Итак, мы хотим, чтобы игрок шагал по клеткам 32х32 т.е. по сетке. Создаём объект игрока. Назовём его obj_player , а спрайт соответственно - s_player . Теперь в объекте obj_player в событии Create пишем код:
G=32//придаём сетке значение G, а G=32 px 
S=4//установка скорости. скорость - S=4
if !place_snapped(G,G) 

move_snap(G,G) 
}
Move[1,0]=true 
Move[1,1]=true 
Move[1,2]=true 
Move[1,3]=true
теперь в событии Step пишем:
if place_snapped(G,G){ 
speed=0//остановка игрока
if keyboard_check(vk_left) && Move[1,0]=true{ 
motion_set(180,S)//шагать налево со скоростью S 
}
if keyboard_check(vk_right) && Move[1,1]=true{ 
motion_set(0,S)//шагать направо со скоростью S 
}
if keyboard_check(vk_down) && Move[1,2]=true{ 
motion_set(270,S)//шагать вниз со скоростью S 
}
if keyboard_check(vk_up) && Move[1,3]=true{ 
motion_set(90,S)//шагать наверх со скоростью S 

}
вот и всё.
 
BRESSДата: Вторник, 15.04.2014, 17:13 | Сообщение # 4
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
Можно было бы сделать проще. Там даже в стандартных примерах на GM8 можно один из исходников расковырять и преобразовать его как надо ))

Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
  • Страница 1 из 1
  • 1
Поиск: