|
|
回复 huangshidi
电视机不是输入设备,同学。
电视机只能输出。光线枪其实是个输入设备,
具体看:
...
yeemartin! 发表于 2010-3-29 08:27 ![]()
。。。。。。。。。。。。。。。。。。
我哪里有说电视是输出设备,光线枪是输出设备了,baidu那个n年前我就看过了。。。。。。。
具体的原理是下面这样的:
按下扳机后,游戏软件控制主机发送一个全白色的帧(白色小方块,瞬间亮度比平时高),电视机显示这个白色帧是需要从上到下,从左往右扫描的,所以从这一帧扫描第一个点开始,到枪口收到白色光(注:尽管枪口看上去较大,但真正能接受光的感光机构可接受范围很小,所以它只会对准屏幕上很小的一块范围,这个范围略大于两行扫描线距离,可以认为其对准的是一个“点”,而且枪要调整到一个合适的灵敏度,灵敏度太低则极始收到白色方块也没没出去信号,太高的话,没有白色方块也会输出信号)这个时间差T(pos),就可以算出坐标位置,这里假定从屏幕到光线枪的光线传播时间为0。NTSC情况下一个隔行帧显示的时间是:0.0167秒 (60Hz),这里 为了方便大家理解计算过程,暂定理想状况:扫描线无消隐时间,帧无消隐时间,扫描线回扫时间为0,扫描线共480线(扫描线实际上是525条,但真正有成像能力的只有480线左右),水平点数为640。 所以每一行扫描线需要的扫描时间为 T(scanline)=0.0167/480,我们就可以计算出。
垂直位置:Y=Trunc(T(pos)/T(scanline))
水平位置:X=(T(pos)-Y×T(scanline))/T(scanline)×640
这个和我说的有什么本质上的差别吗?其实就是根据扫描点的位置计算出你瞄准的位置 |
|