2017-02-08 3 views
0

Эй, мне нужно создать джойстик для управления камерой. Джойстик должен иметь возможность перемещаться в четыре направления: влево, вправо, вверх и вниз, а два имеют функцию остановки. У меня есть поиск в Интернете часами, в конце концов я нашел что-то, что называется nipplejs. Я приложил код nipplejs к этой теме:javascript джойстик для камеры

var radius = 100; 
 

 
var sampleJoystick = { 
 
    mode: 'static', 
 
    position: { 
 
     left: '50%', 
 
     top: '50%' 
 
    }, 
 
    size: radius*2, 
 
    color: 'black' 
 
}; 
 

 
var joystick; 
 
var position; 
 
joystick = nipplejs.create(sampleJoystick); 
 
joystick.on('start end', function(evt, data) { 
 
    position = data; 
 
}).on('move', function(evt, data) { 
 
    position = data; 
 
}).on('dir:up plain:up dir:left plain:left dir:down' + 
 
     'plain:down dir:right plain:right', 
 
     function(evt, data) { 
 
    //position=data; 
 
} 
 
    ).on('pressure', function(evt, data) { 
 
    position=data; 
 
});
<script src="//yoannmoinet.github.io/nipplejs/javascripts/nipplejs.js"></script> 
 
<div id="zone_joystick"> 
 
</div>

На первый взгляд это выглядит как идеальный библиотеке, но на второй взгляд, я вижу, что у меня нет никаких указаний показателей на джойстик, и я не могу реализовать поведение остановки с помощью этого джойстика, и это не будет интуитивно понятным управлением для старейшин, которые будут использовать программное обеспечение.

Я ищу альтернативное решение для панели управления, которые имеют функциональные возможности, о которых я говорил.

функциональные возможности: джойстик, который можно поворачивать в 4 разных направлениях: влево, вправо, вверх и вниз. джойстик также имеет функцию остановки.

+0

SO не место, чтобы попросить библиотек или ресурсов. Если бы у вас был вопрос о том, как добавить эту функциональность в ваш джойстик, это будет лучше здесь. –

+0

Я не прошу библиотеки, я спрашиваю, может ли кто-нибудь помочь мне в изменении nipplejs или найти лучшее решение моей проблемы. Я искал часы и не нашел решения моей проблемы. – Brk

ответ

0

Сначала вы должны подключиться к оборудованию, прежде чем вы сможете прочитать его ввод. Считаете ли вы использование родного API GamePad для браузера? Однако это не работает во всех браузерах.

https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API

+0

нет Мне это не нужно, я подключаюсь к камере с помощью процесса C#, я посылаю запросы от ui на код C#, который выполняет фактическое перемещение. Я говорю о пользовательском интерфейсе, мне нужно создать пользовательский интерфейс для этой камеры. – Brk

+0

Хорошо, но почему вы не можете наложить SVG с ясным пользовательским интерфейсом поверх функциональности nipplejs? Nipplejs, похоже, работает очень хорошо. – Kokodoko

+0

Я новичок в svg, я мог бы попробовать это, но я не знаю, с чего начать. У вас нет шансов на любой толчок или помощь в этом? – Brk

Смежные вопросы