Вращение объекта...
|
|
AcTiViSioN | Дата: Понедельник, 03 Февраля 2014, 15:44 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Мне нужно вращать пушку на танке, но не более -90 \ +90 градусов от его центра (типа ПТ-САУ в WoT), то есть при повороте танка на 0 градусов, пушка встанет в любой градус но не больше 90 и не меньше 270. Собственно я не пойму как это сделать, получается криво из-за перехода с 359 на 0 градус. Может где-нибудь есть готовый вариант?
Сообщение отредактировал AcTiViSioN - Понедельник, 03 Февраля 2014, 16:02 |
|
| |
laggert | Дата: Понедельник, 03 Февраля 2014, 16:52 | Сообщение # 2 |
почетный гость
Сейчас нет на сайте
| Код из моей игры(тоже танчики): Код image_angle = direction direction = (image_angle+((image_angle-point_direction(x,y,mouse_x,mouse_y)+360)mod 360>2)*((2*sign((image_angle-point_direction(x,y,mouse_x,mouse_y)+360)mod 360-180)))+360)mod 360
if direction>90 && direction<180 { direction=90 }
if direction<270 && direction>90 { direction=270 }
Я здесь, чтобы распространять ЛАГИ!!!
|
|
| |
AcTiViSioN | Дата: Понедельник, 03 Февраля 2014, 17:26 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Не совсем понял как это должно работать с двумя объектами (танк и его башня), но пошаманив немножко с image_angle добился почти нужного результата, но все равно не то. Мне кажется дело в "if direction>90 && direction<180 ... " но я не знаю как это устроено в вашей игре.
Сообщение отредактировал AcTiViSioN - Понедельник, 03 Февраля 2014, 18:08 |
|
| |
hero564 | Дата: Понедельник, 03 Февраля 2014, 19:37 | Сообщение # 4 |
Made in Ukraine
Сейчас нет на сайте
| AcTiViSioN, obj_tank - обьект танка obj_head - обьект башни в степе obj_head Код if direction =360{direction=0} if keyboard_check_pressed(vk_left){ //поворот влево if direction<obj_tank.direction +90{ direction+=12 } } if keyboard_check_pressed(vk_right){ //поворот влево if direction>obj_tank.direction -90{ direction-=12 } }
Сообщение отредактировал hero564 - Понедельник, 03 Февраля 2014, 19:38 |
|
| |
AcTiViSioN | Дата: Понедельник, 03 Февраля 2014, 19:50 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| Цитата hero564 ( ) obj_tank - обьект танка obj_head - обьект башни в степе obj_head Это тоже не то, у меня проблема посложнее. Двигается только тело танка, а башня смотрит точно в цель. Когда тело повернется больше 90 градусов, башня потеряет цель из виду и перестанет двигаться, а через некоторое время снова подхватит цель когда танк развернется по кругу.
Сообщение отредактировал AcTiViSioN - Понедельник, 03 Февраля 2014, 19:50 |
|
| |
laggert | Дата: Вторник, 04 Февраля 2014, 16:55 | Сообщение # 6 |
почетный гость
Сейчас нет на сайте
| body-тело танка Код image_angle = direction direction = (image_angle+((image_angle-point_direction(x,y,mouse_x,mouse_y)+360)mod 360>2)*((2*sign((image_angle-point_direction(x,y,mouse_x,mouse_y)+360)mod 360-180)))+360)mod 360
if direction>90+body.direction && direction<180+body.direction { direction=90+body.direction }
if direction<270+body.direction && direction>90+body.direction { direction=270+body.direction }
Я здесь, чтобы распространять ЛАГИ!!!
|
|
| |