Автор | Сообщение |
123456 Самый нубский нуб Группа: Участники Сообщений: 37 |
Добавлено: 04-01-2009 16:57 |
народ у меня вопрос можно ли сделать игру от 3го лица но чтоб персом можно было управлять мышкой? | |
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 05-01-2009 08:19 |
Конечно можно. Если надо, выложу пример | |
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 05-01-2009 09:31 |
Вот: http://xtreme3d.narod.ru/files/engines/x3d_3rdperson.zip (1.4 Мб) Ходить WASD (вернее, пока только WS), прыгать пробелом. |
|
123456 Самый нубский нуб Группа: Участники Сообщений: 37 |
Добавлено: 13-01-2009 20:05 |
а можн чтоб он еще вверх и в низ смотрел ???? и желательно с за грузкой карты))) |
|
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 14-01-2009 19:40 |
Ну ты может хочешь, чтобы я за тебя всю игру написал? Шучу :)) В скором времени займусь улучшением примера, там можно будет смотреть (и стрелять) во все стороны, плюс разннобразное оружие, враги, загрузка карты и пр. А ты меня не жди - изучай примеры и сам пиши))) |
|
123456 Самый нубский нуб Группа: Участники Сообщений: 37 |
Добавлено: 15-01-2009 16:14 |
ок спс за совет) |
|
Belon Группа: Участники Сообщений: 3 |
Добавлено: 22-04-2009 19:08 |
А как сделать чтобы как в rpg щёлкнул мышкой на место и туда персонаж побежал? | |
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 22-04-2009 20:50 |
Предлагаю такое решение. 1. В событии Create выставляем камере FOV равное 90: CameraSetFocal(camera,90); 2. В событии Step: //Узнаем позицию камеры: xx=ObjectGetAbsolutePosition(camera,0); yy=ObjectGetAbsolutePosition(camera,1); zz=ObjectGetAbsolutePosition(camera,2); //Узнаем вектор Direction камеры: dx=ObjectGetDirection(camera,0); dy=ObjectGetDirection(camera,1); dz=ObjectGetDirection(camera,2); //Узнаем вектор Up камеры: tfov=tan(45*pi/360); //45 - половина FOV камеры ux=ObjectGetUpVector(camera,0)*tfov; uy=ObjectGetUpVector(camera,1)*tfov; uz=ObjectGetUpVector(camera,2)*tfov; //Узнаем вектор Left камеры: vx=ObjectGetLeftVector(camera,0)/2.2; vy=ObjectGetLeftVector(camera,1)/2.2; vz=ObjectGetLeftVector(camera,2)/2.2; //Конвертируем координаты мыши в трехмерные: width=2*mouse_x/window_get_width()-1; height=1-2*mouse_y/window_get_height(); mx = dx+ux*height-vx*width; my = dy+uy*height+vy*width; mz = dz+uz*height+vz*width; place_x=xx-yy*mx/my; place_z=zz-yy*mz/my; Координаты place_x и place_y и будут указывать, куда щелкнул игрок и куда должен бежать персонаж. Если надо, выложу пример. |
|
Belon Группа: Участники Сообщений: 3 |
Добавлено: 23-04-2009 18:10 |
Можно и пример | |
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 24-04-2009 15:44 |
Вот и пример | |
Belon Группа: Участники Сообщений: 3 |
Добавлено: 24-04-2009 18:45 |
Спасибо, теперь понятно |
Offtop.ru © 2003 |