(1)创建一个作为背景图片的场景。
(2)创建一个场景,里面包含一个看起来像地球的球体。
(3)创建一个场景,里面包含一个看起来像火星的球体。
(4)创建EffectComposer对象,用于将这三个场景渲染到一个图片中。
(5)在渲染为火星的球体上应用彩色效果。
(6)在渲染为地球的球体上应用褐色效果。
1、 我们直接使用场景的背景属性来添加星光背景图片。还有一种可选方式也可以同于添加背景图片,那就是利用THREE.OrthoGraphicCamera(正交摄像机)。因为THREE.OrthoGraphicCamera不会根据物体距离摄像机的距离来缩放物体,所以可以添加一个正对摄像机的THREE.PlaneGeometry几何体,然后在上面添加图片。
2、场景渲染时候需要将渲染器改为组合器的渲染器,并且需要将WebGLRenderer中autoClear设置为false
javascript这门脚本语言,多用于辅助性开发,位运算如非必要,不推荐使用。虽然位运算在高级语言里,有时候能优化性能。但毕竟javascript是一门解释性语言,位运算也是解释后执行,性能并没有突出。有两种情况下,
1)宿主是v8之类的虚拟化的引擎,但就我对虚拟化的理解,位运算在虚拟机里,应该还是不如c语言等编译性语言的;
2)大面积矩阵式运算,这时候有时候会用到位运算。当然,位运算应该学通,这对内存,以及优化程序性能有帮助。
位运算通常配合二进制来学,比较快一点。可能比较绕人的是高位。中国很多概念式教程说的很烂,都喜欢装13(逼)的用异或取反等来解释,这是很不科学的。
位运算的高位在c语言等里面表现,取决于cpu指令;但在javascript里不是——至少不完全是。我没仔细研究过。
无论哪种语言。位运算的意义有两种
1)或、异或、取反、与,这种叫掩码式运算,主要应用在于给某二进制位进行验证、设置、改变状态(改变状态,其实也是设置)等;
2)是位移,这个在加密解密压缩等科学里面经常看到,平常程序的应用不是很多,或者我短路没想到。
考虑到兼容性的问题,我觉得javascript的整数不应该当作c语言等下的整数来看。你保不齐哪个引擎是32位或者是64位。32位和64位在位移的时候,有时候结果不同的。
所以我的结论是,javascript不要苛求位运算,能避免就避免。但位运算还是要好好学,建议借助于c语言等来学。
我试图在输入大小正好为2时插入连字符。这是我的密码但问题是-直到输入第三个字符才出现。虽然连字符的位置正确,但我的意思是在两个字符之后。
如何在输入两个字符后立即获得连字符?
我尝试了onkeyup,但问题是当我按下backspace按钮时,它也会触发。当有两个字符时,会出现连字符,但在这一点上,如果我按backspace并删除连字符,它会立即返回。所以我选择onkeypress
发布于 9 月前
回答
在onKeyPress期间,输入文本框的值始终是更改前的值。这允许事件侦听器取消按键。
要在字段值更新后获取值,请计划在下一个事件循环中运行函数。通常的方法是使用0的超时调用setTimeout:
document.getElementById('numberInput').onkeypress = function() {
// arrow function keeps scope
setTimeout(() =>{
// now it is the value after the keypress
if (this.value.length == 2) {
this.value = this.value + '-'
}
}, 0)
}
<input type="text" id="numberInput">
本站已为你智能检索到如下内容,以供参考:
✿ 相关问答 4 个
React.JS如何使用“onKeyPress”只允许在输入中键入数字
如何使用OnKeypress根据按下的键来使用我的按钮
处理ReactJS中的onKeyPress事件
我的JS代码不工作,我没有看到bug
✿ 相关教程 1 个
JavaScript 入门教程
✿ 推荐阅读 4 个
一个香草JS可定制的选择框/文本输入插件⚡️
在Windows子系统Linux上运行(和不工作)的程序列表
React、Angular、Ember、Vue和纯JavaScript的输入掩码
Javascript应用程序的不可变、异步和混合状态