开发安科编辑器时,需要在contenteditable中临时生成一个“ROLLDICE”输入框,并把输入框准确放在用户输入光标的位置。
常见的做法直接使用getRangeAt(0).getBoundingClientRect(),但当光标位于行首时,返回值将为0。因此在这种情况下需要临时添加一个span并用于计算出正确位置。
但如果光标处于文字之间时,添加span会导致光标移位,因此必须只在光标处于行首时使用这种方法。
1 | //get the position of the cursor |
开发安科编辑器时,需要在contenteditable中临时生成一个“ROLLDICE”输入框,并把输入框准确放在用户输入光标的位置。
常见的做法直接使用getRangeAt(0).getBoundingClientRect(),但当光标位于行首时,返回值将为0。因此在这种情况下需要临时添加一个span并用于计算出正确位置。
但如果光标处于文字之间时,添加span会导致光标移位,因此必须只在光标处于行首时使用这种方法。
1 | //get the position of the cursor |
《三体2》在日本发售的时候,各个名家所写的推荐语中,有一句这样称赞《三体》:“绝妙的构思一个接一个毫不吝啬地展开,多到了让人觉得浪费的地步。”显然,《三体》作为图景宏大的科幻巨作,自然配得上如此称赞。而本文所介绍的《Outer Wilds》,其世界观与其相比则显得渺小了许多。
然而,在接触《Outer Wilds》不到一个小时后,这就是我心中浮现的称赞之词。而当我用20小时打通它后,我甚至觉得这句话毫不夸张。这些绝妙的构思,使得对于任何有关这个游戏的剧透——无论是文字上的还是视觉上的——都是莫大的遗憾。但同时,《Outer Wilds》中令人惊叹的设计实在太多,即便是剧透了结局,也并不足以消灭亲自体验的价值。
《Outer Wilds》最大的魅力就源自它的想象力,在一个方圆仅数十公里的太阳系中,游戏用真实和幻想相互调和,完美地把握着严谨地科学原理和童话般的妙想之间的交点,让两者严丝合缝,乃至于相互融合,难以区分,这恐怕是科幻的最高境界了。
然而不仅如此,游戏更是在这样精彩的想象中,基于简洁的玩家动作构造了复杂的解谜关卡流程——它将开放空间的解谜引导做到了近乎完美的地步,乃至于整个流程中玩家根本没有获取新的能力、甚至也没有获取新的钥匙,一切推动玩家前进的要素,全部都是信息、情报、线索。这也意味着只要玩家理解了整个游戏的谜底,就可以在新的存档里只用几分钟通关。
本文主要从视觉体验、关卡设计、叙事和音乐几个方面进行介绍鉴赏。
数年前就在这款游戏的官方网站玩到了web版本的demo。
如今买下来再一看,居然还是demo。 开发者也知道这是“最具创新”的FPS,然后他们就把这个想法挥霍了。
整个游戏从头到尾玩家能玩到的就是一个“慢动作”FPS而不是所谓的“极具创新的”“时间随移动而流逝”的FPS,这是因为它站在这个创意的基础上,游戏设计简陋,缺乏深入、完善和补全。
这游戏是Suspicious Developments做的,他们之前做过Gunpoint,也是个潜行间谍类游戏,不过是横版平台卷轴式的。
截止现在,我在steam上玩了这游戏80小时了,本来这游戏玩不了这么长时间的,但是这游戏对我来说就是无脑爽所以。。