nes吧 关注:7,093贴子:36,327
  • 11回复贴,共1

【转帖】红白机-光枪原理

只看楼主收藏回复

转自haomarlin的原创


IP属地:上海1楼2011-12-02 19:39回复
    FC红白机光枪的工作原理很简单,这归功于FC游戏厂商的巧妙设计。
    首先我们先来认识FC的光枪。图片就免了。
    FC的光枪有三个关键部分:
    第一个是枪头,它的内部有有感光芯片;
    第二个是光枪上唯一的按钮,就是扳机,在游戏的过程中,瞄准的同时需要按下扳机进行射击。
    第三个是接头,这个和2P手柄的位置是相同的。
    在理解光枪工作原理之前,首先需要让大家了解到,红白机的手柄和光枪都是串行设备。撇开手柄不谈,光枪接口的7个口中,有两个口用来提供状态信息。这7个口的定义如下:
    1 Out GND GND Ground
    2 Out PORT0-CLK PORT1-CLK Joystick Clock (CPU Port Read)
    3 Out OUT0 OUT0 Joystick Serial-Start
    4 In PORT0-0 PORT1-0 Joystick Serial-Data
    5 Out +5VDC +5VDC Supply
    6 In PORT0-3 PORT1-3 Zapper Light
    7 In PORT0-4 PORT1-4 Zapper Button
    


    IP属地:上海3楼2011-12-02 19:39
    回复

      6



      IP属地:上海5楼2011-12-02 19:40
      回复
        当玩家按下扳机,游戏画面会变黑,如图2所示。这个画面的切换比较快,大概在30ms左右。
        这屏幕变黑的这段时间中,游戏可以检测光枪返回的光枪,看是否为弱。
        之后,第一只鸭子的位置会用白色块显示,如图3所示,从图2到图3在30ms左右。
        如果这个时候游戏发现检测到的光强很强,那就说明玩家击中这只鸭子了。
        大概过50ms左右,画面会切换到图4,白色块显示在第二只鸭子的地方,如果游戏此时发现光强为强,那么就说明玩家击中第二只鸭子了。
        再过50ms左右,游戏会返回到正常画面。以上就是光枪的工作过程了。
        


        IP属地:上海6楼2011-12-02 19:41
        回复
          由于屏幕会一瞬间变黑,玩家还是可以感觉到的。
          其他游戏的检测方式大体相同,当画面的可击中物体较多时,画面闪烁的延迟也会加大。
          很多人可能也知道,在射击的时候突然将枪对准灯泡,可以让游戏百发百中……


          IP属地:上海7楼2011-12-02 19:41
          收起回复
            呵呵!


            IP属地:广东来自手机贴吧8楼2012-12-07 10:45
            回复
              哇哇


              IP属地:广东来自手机贴吧9楼2013-07-07 08:57
              回复
                哈哈


                IP属地:北京来自Android客户端10楼2013-07-26 07:30
                回复
                  牛逼


                  IP属地:江苏11楼2015-03-14 17:22
                  回复
                    牛逼
                    别君去兮何时还,且放白鹿青崖间。
                       --来自助手版贴吧客户端


                    来自Android客户端12楼2015-03-14 17:41
                    回复
                      就是跟踪画面运动的物体吧


                      IP属地:吉林来自iPhone客户端13楼2015-03-16 12:18
                      回复