Как-то это не angry birds получается. Ну ладно, начинаем. Для начала сделаем спрайта поворот мяча в сторону врагу. Делается это парой строчек кода, В степ пишем:
Код
if instance_number (object1)>0//Если враги в комнате есть... {image_angle=point_direction(x,y,object1.x,object1.y)}//Мяч поворачивается в сторону врага. Закончили. Теперь добавим врагу в степ: [code]if place_free(x,y+1) { rot+=hspeed; }
Рассмотрим данный код поближе: в draw прописан поворот спрайта, а тут необходимые для этого условия. То есть он поворачивает спрайт в зависимости от удара игрок и вертикальной скорости. Продолжаем. Создадим новый спрайт, spr_indicator из 5 кадров. Рисуем их а-ля worms (то есть как расчет силы и дальности удара.) Заканчиваем рисовать, идем к мячу, в draw пишем:
Код
draw_sprite_ext(sprite_index,image_index,x,y, image_xscale,image_yscale,image_angle,noone,image_alpha);//рисуем чисто наш спрайт (мяча)
if (varDrag = true) {//Если зажим активирован... var Dist,i,ym{
Dist = distance_to_point(mouse_x, mouse_y)/5//Все так же "стандартно" отсчитываем расстояние до мыши, делим на 5, дальше вы поняли
Dist=round(Dist/3)//Делим значение на 3, приравниваем к значению round..
if Dist>5 Dist=5;//Значение не может быть более 5.
draw_sprite_ext(spr_indicator,Dist-1,x,y, image_xscale,image_yscale,point_direction(x,y,mouse_x, mouse_y)-90,noone,0.8);// Рисуем индикатор, в зависимости от силы удара рисуем его кадры и поворачиваем его за мышью.
} }
Тестируйте, теперь враг у нас поворачивается от ударов, мяч поворачивается за врагом, враг от удара, и есть индикатор. А позже мы сделаем и стены. До свидания!
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «"Angry birds" физика в game maker. Враги. ч.2», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.
Такой подход выльется в тысячи строк кода. На Unity (и встроенном физ. движке) делается за меньше чем 100 строк кода: http://noobtuts.com/unity/2d-angry-birds-game
Дежавю? Код в большинстве своем тут мой, но с некоторыми метаморфозами. Было дело, помогал начинающим. Они по исходнику работали. Я им с индикатором и помог (требую ссылку на автора )