2015-03-17 3 views
2

Я искал в Интернете, чтобы увидеть примеры того, как экзамены на восприятие опасности были закодированы, но безрезультатно. Может ли кто-нибудь сообщить мне ключевые моменты при кодировании экзамена на восприятие опасности? Или, если в Интернете есть похожие примеры?Как код экзамен восприятия опасности

Экзамен по восприятию опасности является обязательным экзаменом в Великобритании в качестве части для получения водительских прав. Это связано с просмотром видео с точки зрения водителя и нажатием видео, если вы заметили опасность. Экзамен записывает, сколько опасностей вы заметили и даст вам оценку, например. 40 из 45. Здесь есть пример: http://theory-test-online.co.uk/free-hazard-perception-test-demo.htm Я прошу посмотреть, как записывать клики, нацеленные на видео. Клики также должны попасть в определенный промежуток времени вокруг опасности, чтобы считать ее правильной.

+0

Что такое экзамен восприятие опасности? И, можете ли вы более конкретно относиться к конкретной проблеме, на которую вы застряли? – Brad

+2

@Brad Это обязательный экзамен в Великобритании в качестве части для получения водительских прав. Это связано с просмотром видео с точки зрения водителя и нажатием видео, если вы заметили опасность. Экзамен записывает, сколько опасностей вы заметили и даст вам оценку, например. 40 из 45. Здесь есть пример: http://www.theory-test-online.co.uk/free-hazard-perception-test-demo.htm Я прошу посмотреть, как записывать клики, нацеленные на видео. Клики также должны попасть в определенный промежуток времени вокруг опасности, чтобы считать ее правильной. Благодарю. – bcfcmatt92

+0

Спасибо, сейчас намного яснее. Вы должны добавить эту информацию непосредственно к своему вопросу, чтобы другие могли легко найти. – Brad

ответ

0

Этот вопрос является очень общим и очень конкретным. Это общее, потому что ваша цель может быть достигнута во многих отношениях и конкретна, потому что вы спрашиваете о очень специфическом типе экзамена. Вот некоторая информация, чтобы вы начали:

Вы можете использовать HTML5 video или что-то вроде Video.js, чтобы воспроизвести видео и контролировать его положение.

Вы можете прослушивать события кликов, используя addEventListener или jQuery .click(), и каждый клик проверять текущую позицию видео и посмотреть, находится ли он в одном из диапазонов, когда появится или нет щелчок, и посчитайте точки соответственно (добавьте точку, когда пользователь должен щелкнуть и вычесть в противном случае, убедившись, что вы не получите более 1 балла за каждую опасность).

Подсчет очков может быть сложной задачей, но вот как это можно сделать:

Давайте предположим, что у вас есть массив правильных опасностей старт-стоп интервалов вместе с информацией ли какой-либо из них была нажата или нет, и количество штрафных очков за клики, когда не было никакой опасности:

var harards, penalties; 

hazards = [ 
    { 
    start: 1, 
    stop: 2, 
    passed: false 
    }, 
    { 
    start: 4, 
    stop: 5, 
    passed: false 
    }, 
    { 
    start: 8, 
    stop: 10, 
    passed: false 
    } 
]; 

penalties = 0; 

(конечно, для реальных данных, он будет больше похож: start: 38.8, stop: 42.3 и т.д.) Теперь за каждый клик вы можете проверить положение видео и проверить его с чем-то вроде этого:

function testHazard(time) { 
    var i; 
    for (i = 0; i < hazards.length; i++) { 
    if (time >= hazards[i].start && time <= hazards[i].stop) { 
     hazards[i].passed = true; 
     return; 
    } 
    } 
    penalties++; 
} 

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

Теперь подсчета очков проста:

function countPoints() { 
    var i, points = 0; 
    for (i = 0; i < hazards.length; i++) { 
    if (hazards[i].passed) { 
     points++; 
    } 
    } 
    return (points - penalties); 
} 

См: DEMO на JS Bin.

Еще один совет: вы можете использовать mousedown события (или jQuery .mousedown()) вместо того, чтобы событие щелчка, чтобы заставить его работать хорошо с двойными щелчками Например exam from your comment не кажется и т.д. обрабатывать двойные щелчки и несколько кликов красиво и печатно: «Вы ответили на этот клип неприемлемо!» Также я не уверен, что этот экзамен правильно подсчитывает клики. Код, который я написал выше, должен работать нормально для любого количества кликов и просто приведет к более низкому (или даже отрицательному) количеству очков, когда люди нажимают, когда они этого не делают, при подсчете любого количества кликов в течение одной опасности в качестве одной точки.

Некоторые полезные ресурсы:

+0

, когда я попытался просмотреть этот скрипт в браузере, он показывает предупреждение «общие баллы: -5, штрафы: 5», а затем, когда я нажимаю ok, воспроизведение видео, но без ответа. Я не уверен, может ли это быть из-за функции onclick, которую я использовал, или мои html-теги ошибочны. [code] Ваш браузер не поддерживает HTML5-видео. [/ code] и для скрипта: [code] var vid = document.getElementById ("test"); vid.onclick = countPoints; [/ code] – bcfcmatt92

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