Помните, раньше были у нас Денди? У счастливчиков — с пистолетами. И
все ночи напролёт мне не давал уснуть вопрос: «Как же работает этот
пистолет?»
Всё оказалось вполне даже просто, однако ответ на вопрос спрячу под
кат, чтобы можно было не прощаться с культовой загадкой детства. ;-)
В пистолете (который, на самом деле, называется
Zapper)
встроен фотодиод, принимающий свет, а из-за длинного «дула» этот
фотодиод становился узконаправленным. В момент нажатия «курка», весь
экран на мгновение заливался чёрным, а спрайт мишени — белым
прямоугольником. Если «дуло» было направлено на прямоугольник,
засчитывалось попадание. Если же мишеней было несколько (NES
поддерживала до 4, но это не точно), то мишени подсвечивались по
очереди (подмигивая) и приставка вычисляла попадание, используя
бинарный поиск.
В детстве мне никак не приходило в голову, что пистолет не излучает, а принимает.
Это одна из самых простых реализаций светового пистолета. В других
приставках использовались и более сложные методы, к примеру учитывающие
то, что луч (в ЭЛТ-телевизорах) освещает только одну точку в каждый
момент времени. Приставка заливала экран белым в момент нажатия и
отсчитывала время до засветки фотодиода. Таким образом, направление
можно было вычислить более точно, а количество мишеней определялось
«радиусом поражения» пистолета. Эта схема, к примеру использовалась в
SNES.
Первый же световой пистолет был изобретён аж в 1936 году для автомата Seeburg Ray-O-Lite, в котором кинескопа ещё не было =). Надо было тоже целиться в уток, как и в известной всем Duck Hunt.
В Clay shooting, где нужно было стрелять по тарелкам (да, тоже из детства помню) можно заметить те самые прямоугольники.
Подробно можно прочитать, зная английский:
http://en.wikipedia.org/wiki/Light_gun
http://en.wikipedia.org/wiki/NES_Zapper
http://www.madsci.org/posts/archives/199…