Как работает световой пистолет
Я вот почему-то только сейчас задумался о том, как он работает. Кому интересно, прошу )
И все-такие, как он работает?
Всё оказалось вполне даже просто, однако ответ на вопрос спрячу под кат, чтобы можно было не прощаться с культовой загадкой детства. ;-)
В пистолете (который, на самом деле, называется Zapper) встроен фотодиод, принимающий свет, а из-за длинного «дула» этот фотодиод становился узконаправленным. В момент нажатия «курка», весь экран на мгновение заливался чёрным, а спрайт мишени — белым прямоугольником. Если «дуло» было направлено на прямоугольник, засчитывалось попадание. Если же мишеней было несколько (NES поддерживала до 4, но это не точно), то мишени подсвечивались по очереди (подмигивая) и приставка вычисляла попадание, используя бинарный поиск.
В детстве мне никак не приходило в голову, что пистолет не излучает, а принимает.
Это одна из самых простых реализаций светового пистолета. В других приставках использовались и более сложные методы, к примеру учитывающие то, что луч (в ЭЛТ-телевизорах) освещает только одну точку в каждый момент времени. Приставка заливала экран белым в момент нажатия и отсчитывала время до засветки фотодиода. Таким образом, направление можно было вычислить более точно, а количество мишеней определялось «радиусом поражения» пистолета. Эта схема, к примеру использовалась в SNES.
Первый же световой пистолет был изобретён аж в 1936 году для автомата Seeburg Ray-O-Lite, в котором кинескопа ещё не было =). Надо было тоже целиться в уток, как и в известной всем Duck Hunt.