| 2 игрока | 
|  | 
| 
| dima9595 | Дата: Четверг, 14 Июня 2012, 17:55 | Сообщение # 1 |  |   почти ветеран Сейчас нет на сайте | Доброго времени суток! Я сейчас разрабатываю игру видом с верху(TDS).И мне пришла мысль,что бы сделать эту игру на двоих.
 Но после написания маленького кода для первого игрока я заметил,что если делать таму и другому игроку данный код:
 
 //Началоскрипта передвижения и повороты за мышкой
 image_angle = point_direction(x,y,mouse_x,mouse_y); //Следим за мышкой
 if keyboard_check(ord('W')) {y -= 5;} //Передвижение на 5 вверх
 if keyboard_check(ord('S')) {y += 5;} //Передвижение на 5 вниз
 if keyboard_check(ord('A')) {x -= 5;} //Передвижение на 5 влево
 if keyboard_check(ord('D')) {x += 5;} //Передвижение на 5 вправо
 // Конец скрипта передвижения и повороты за мышкой
 
 ,то второй игрок будет поворачивать за мышкой,а это уже...
 
 Кароче мне нужен совет,как лучше всё это реализовать...
 
 Заранее благодарю!
 
 
   |  |  |  |  | 
| 
| skypo | Дата: Четверг, 14 Июня 2012, 18:01 | Сообщение # 2 |  | участник Сейчас нет на сайте | Если есть геймпад - можно завязать на него управление вторым. Или отказаться от мыши (сделать как это часто делают в консольных играх - автонаведение прицела на ближайшего врага) Чтобы убрать снайперскую меткость, рекомендую сделать разброс (прибавлять к вектору выстрела маленький рандом).
 
 Последний готовый проект:
 флэппиберд с яйцами "Rescue Bird"(скачать с GooglePlay)
 В разработке:
 3-в-ряд "Корабельная команда", рогалик "Живой Мир", квест "Экипаж "Солнечной" (ждите на КРИЛ-15!)
 
 
 Сообщение отредактировал skypo - Четверг, 14 Июня 2012, 18:02 |  |  |  |  | 
| 
| dima9595 | Дата: Четверг, 14 Июня 2012, 18:03 | Сообщение # 3 |  |   почти ветеран Сейчас нет на сайте | а если сделать например что бы поворачивался клавишами,например "4" и "6"? 
 
   |  |  |  |  | 
| 
| GameMix | Дата: Четверг, 14 Июня 2012, 18:06 | Сообщение # 4 |  |   старожил Сейчас нет на сайте | dima9595, сделай прицеливание на клавишах, а на какие именно пусть будет выбирать игрок (настраиваемое управление). 
 Steel Standoff - 2D аркада.
 Мои статьи
 |  |  |  |  | 
| 
| dima9595 | Дата: Четверг, 14 Июня 2012, 18:09 | Сообщение # 5 |  |   почти ветеран Сейчас нет на сайте | Quote (GameMix) dima9595, сделай прицеливание на клавишах, а на какие именно пусть будет выбирать игрок (настраиваемое управление).вариант хороший,но врятли я смогу это осилить
 
 
   |  |  |  |  | 
| 
| GameMix | Дата: Четверг, 14 Июня 2012, 18:19 | Сообщение # 6 |  |   старожил Сейчас нет на сайте | dima9595, все что нужно для этого знать, это работа с переменными и INI-файлами. 
 Steel Standoff - 2D аркада.
 Мои статьи
 |  |  |  |  | 
| 
| AGENTX001 | Дата: Четверг, 14 Июня 2012, 19:04 | Сообщение # 7 |  |   почётный гцупер Сейчас нет на сайте | Quote (dima9595) а если сделать например что бы поворачивался клавишами,например "4" и "6"? Жуть как неудобно...
 |  |  |  |  | 
| 
| dima9595 | Дата: Суббота, 16 Июня 2012, 11:37 | Сообщение # 8 |  |   почти ветеран Сейчас нет на сайте | а как сделать так,что бы спрайт поворачивался в ту или иную сторону,например на 20 градусов,при нажатие клавиши "Numpad 4"? 
 
   |  |  |  |  | 
| 
| GameMix | Дата: Суббота, 16 Июня 2012, 11:51 | Сообщение # 9 |  |   старожил Сейчас нет на сайте | dima9595, image_angle: Code image_angle -= 20; // поворот влево на 20 градусов
 Steel Standoff - 2D аркада.
 Мои статьи
 |  |  |  |  | 
| 
| stinger | Дата: Суббота, 16 Июня 2012, 11:53 | Сообщение # 10 |  | участник Сейчас нет на сайте | dima9595, в событие нажатия клавиши код: 
 Code direction+=20  //но 20-это много.Подойдет примерно 5 градусовНо для этого в степе должно быть написано
 
 Code image_angle=direction |  |  |  |  | 
| 
| dima9595 | Дата: Суббота, 16 Июня 2012, 20:29 | Сообщение # 11 |  |   почти ветеран Сейчас нет на сайте | большое спасибо,попробую! Добавлено (16.06.2012, 20:29)---------------------------------------------
 у меня ещё 1 вопрос:
 1)у второго игрока нет прицела,по первому примеру(как я делал с первым игроком) не получается,т.к. он смотрит за мышкой
 как реализовать появления прицела так,что бы он(второй игрок) наблюдал за ним и при этом прицел находился на одном и том же расстоянии при повороте игрока
 
 
   |  |  |  |  | 
| 
| GameMix | Дата: Воскресенье, 17 Июня 2012, 06:42 | Сообщение # 12 |  |   старожил Сейчас нет на сайте | dima9595, отцентрируй спрайт главного героя. Затем в событии End Step объекта прицела используй lengthdir_x/y: Code x = obj.x+lengthdir_x(100,obj.angle); // определяем координату прицела по оси X y = obj.y+lengthdir_y(100,obj.angle); // и по оси Y
obj - объект игрока.
 100 - расстояние, между игроком и прицелом.
 angle - переменная, отвечающая за угол поворота игрока, можно заменить на image_angle, там уже сам решай.
 
 Steel Standoff - 2D аркада.
 Мои статьи
 |  |  |  |  | 
| 
| dima9595 | Дата: Пятница, 22 Июня 2012, 12:44 | Сообщение # 13 |  |   почти ветеран Сейчас нет на сайте | GameMix, спс,ща попробую Добавлено (21.06.2012, 19:40)---------------------------------------------
 GameMix, можешь переделать мой исходник?
 Добавлено (22.06.2012, 12:44)---------------------------------------------
 Пацаны,в чём ошибка данного кода:
 
 Code  x = player2_pistol.x+lengthdir_x(100,obj.image_angle); // определяем координату прицела по оси X
 y = player2_pistol.y+lengthdir_y(100,obj.image_angle); // и по оси Y
player2_pistol - второй игрок
 
 
   |  |  |  |  | 
| 
| GameMix | Дата: Суббота, 23 Июня 2012, 05:23 | Сообщение # 14 |  |   старожил Сейчас нет на сайте | obj на player2_pistol заменить нужно, наверное   
 Steel Standoff - 2D аркада.
 Мои статьи
 |  |  |  |  |