|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
On-line: |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / изменение осей объекта... |
Страницы: 1 |
Автор | Сообщение |
mozg бывалый Группа: Сообщество GM Сообщений: 51 |
Добавлено: 27-03-2006 21:18 |
Как сделать изменение осей объекта? У меня в игре есть миниган, снаряды создаються в x0,y0(относительно орудия) Но мне надо что- бы снаряды создавались в x20,y-5 а если сделать так, то когда миниган повернут направо, все нормально... Но при изменении image_angle все ухудшаеться и снаряды вылетают не из пушки, а из воздуха Как мне это исправить? | |
PIX гроссмейстер Группа: Сообщество GM Сообщений: 172 |
Добавлено: 28-03-2006 00:47 |
а у тебя вид сверху? | |
mozg бывалый Группа: Сообщество GM Сообщений: 51 |
Добавлено: 28-03-2006 07:44 |
Неа, сбоку... | |
PIX гроссмейстер Группа: Сообщество GM Сообщений: 172 |
Добавлено: 28-03-2006 11:09 |
ну сделай так в спрайте находятся две картинки влево и вправо в нажатии кнопки на стрельбу пишешь: if sprite_index = 0 //это например влево { create_inctance(снаряд,x+20,y-5) } if sprite_index = 1 //это например вправо { create_inctance(снаряд,x-20,y-5) } ну подредактируй чуть и используй |
|
mozg бывалый Группа: Сообщество GM Сообщений: 51 |
Добавлено: 28-03-2006 12:13 |
Когда Image_angle изменяем, это не поможет | |
PIX гроссмейстер Группа: Сообщество GM Сообщений: 172 |
Добавлено: 28-03-2006 13:10 |
тогда это нада через sin и cos (синус и косинус), пришли мне игру я посмотрю. mail: pix16@inbox.ru |
|
PIX гроссмейстер Группа: Сообщество GM Сообщений: 172 |
Добавлено: 29-03-2006 13:08 |
не, я не знаю как сделать | |
Nordsoft частый гость Группа: Участники Сообщений: 29 |
Добавлено: 29-03-2006 13:59 |
Здесь все действительно делается через синус и косинус (x1 и y1 - координаты создаваемой пули): x1=x0+20*cos(image_angle*pi/180) //image_angle принимает значения 0 (вправо) и 180 (влево) y1=y0-5 затем создаешь объект, но надо иметь в виду, что код работает только для двух направлений (вправо и влево), если тебе нужна стрельба во всех направлениях, то я тебе напишу код и для этого |
|
mozg бывалый Группа: Сообщество GM Сообщений: 51 |
Добавлено: 29-03-2006 14:15 |
Дело в том, что миниган стреляет в направлении курсора мыши, поэтому надо для любого угла... | |
Nordsoft частый гость Группа: Участники Сообщений: 29 |
Добавлено: 30-03-2006 12:50 |
универсальный код для таких случаев: r=point_distance(x0,y0,x0+20,y0-5) d=point_direction(x0,y0,x0+20,y0-5) x1=x0+r*cos((d+image_angle)*pi/180) y1=y0-r*sin((d+image_angle)*pi/180) |
|
mozg бывалый Группа: Сообщество GM Сообщений: 51 |
Добавлено: 30-03-2006 18:04 |
if(global.pat>0) {r=point_distance(x,y,x+20,y-5) d=point_direction(x,y,x+20,y-5) x1=x+r*cos((d+image_angle)*pi/180) y1=y-r*sin((d+image_angle)*pi/180)instance_create(x1,y1,object61); instance_create(x,y,object65); switch(sprite_index) { case 90:sprite_index=91;break; case 92:sprite_index=93;break; } global.pat-=1;} Работает! Спасибо дружище! |
|
Ka1miK Тут могла быть ваша реклама Группа: Сообщество GM Сообщений: 1014 |
Добавлено: 01-04-2006 21:49 |
Вроде проще использовать
По сути это тоже самое, только писать все формулы не надо |
|
WertyXBOCT магистр Группа: Сообщество GM Сообщений: 453 |
Добавлено: 03-04-2006 15:08 |
instance_create(x+lengthdir_x(20,direction),y+lengthdir_y(5,direction),o_rocket) //так понятнее Ka1mik Это лучше! Т.к. когда начнешь движение сину и косинус объекта как-то неправильно считаеться. |
Страницы: 1 |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / изменение осей объекта... |