小霸王学习机打鸟的游戏
- 游戏信息
- 发布时间:2025-07-20 13:46:19
原文发表自《游戏机实用技术》
和我们想象的不同,光线枪不会射出光线,只能接收光线。在接收到光线后,光线枪会把枪口对准点的信号传回给游戏机,对应的软件就会告诉主机枪口所瞄准的位置在哪里。
那么软件又是怎么测量位置的呢?如果你仔细观察的话,当按下扳机后,无论枪口是否对着屏幕,屏幕上总会有一道闪光,而这道由软件控制发出的白色帧就是光枪测位的关键。在此之前我们还有必要先来看一下隔行扫描电视机的成像方式:
在PALNTSC的CRT电视中,扫描线是影像生成的方式。以NTSC为例,每次影像扫描时,在六十分之一秒内并非从头到尾连续扫描525条扫描线,而是只扫描一半,也就是262.5线,剩下一半在另外一个六十分之一秒时扫描。第一次扫描时只由上而下水平扫描奇数线,第二次扫描时扫描偶数线。二次扫描所生成的图场(Field)就结合成一幅完整的图像帧(Frame)。由于扫描时是以奇数、偶数扫描线做交替隔行扫描,所以叫隔行扫描。
按下扳机后,游戏软件控制主机发送一个全白色的帧,正如前面提到的,电视机显示这个白色帧是需要从上到下,从左往右扫描的,所以从这一帧扫描第一个点开始,到枪口收到白色光(注:尽管枪口看上去较大,但真正能接受光的感光机构可接受范围很小,所以它只会对准屏幕上很小的一块范围,这个范围略大于两行扫描线距离,可以认为其对准的是一个“点”)这个时间差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
如果把所有情况(扫描线消隐、回扫,有效扫描线等等)考虑到,计算过程要复杂很多,但是原理仍然基于上面de“理想状况”。
实际上,发送全白色帧之前,游戏机还会发射一帧全黑帧,这样可以去除游戏画面上高亮颜色的干扰。
简单的来说,光枪的工作原理就是:
抠下扳机――――线缆将信号传给主机――――软件命令电视机发出一个白色帧――――枪口将接受到的光信号传回给主机――――软件计算时间差从而算出位置――――命令电视机发出一个击中点――――如果刚好在目标上,那么恭喜,你击中了!
上一篇
#电玩城打鸟技巧
下一篇
猎人和鸭子游戏应该如何玩
多重随机标签
魔兽世界德鲁伊职业大厅熔炉在哪 王权2幻想王国中文版攻略大全 魔法门英雄无敌3死亡阴影怎么修改 c语言小游戏代码 历史上有关诺曼底登陆的细节你了解多少 诛仙仙境里有哪些boss 赛尔号谁可以帮我抓克林 我的米米号69658486我们赛尔里聊 魔兽世界法师造食术只能造魔法饼干么 开心娱乐为什么找不到了 副本任务路线选择9车迟斗法 为什么感觉好多单机游戏都好难不看攻略都玩不下去 英雄联盟手游国服剑圣阵容及变强技巧 英雄三国详细分析一下马超的技能及英雄定位 英雄联盟s2是什么时候 使命召唤14怎么改中文 狼人杀混血儿混好人 英雄联盟2023年五一全场半价活动介绍 仙剑奇侠传中的蜀山真的有吗 英雄联盟窗口化以后 移动鼠标的时候 鼠标总是出来 没法玩了 快成坑了 怎么弄才能好 魔兽世界怀旧服玛格曼达掉落物品一览 武汉学ui名次 异星工厂采矿火车站设计心得分享介绍_异星工厂采矿火车站设计心得分享是什么 英雄杀世界模式卡无敌如何破 王者荣耀那一年出来的 苍龙逐日鸳鸯刀bug 英雄联盟手游赵信新皮肤斗魂无双技能特效一览 赛尔号的潜水装怎样装 弹药用什么武器 英雄联盟手游分辨率越高越清晰吗 霸气独一无二的队名和口号队名和口号大全霸气