如果我第一次选中单选按钮,我会感到短暂的卡住。 第二次检查它们一切都运行得非常顺利。我想是因为它们现在在浏览器缓存中。这里有预加载的机会吗?
var insideMap1 = THREE.ImageUtils.loadTexture( 'insideMap1.jpg' );
var insideMap2 = THREE.ImageUtils.loadTexture( 'insideMap2.jpg' );
var insideMap3 = THREE.ImageUtils.loadTexture( 'insideMap3.jpg' );
$("input[name='opt1']").change(function() {
if ($("#radio1").is(":checked")) {
material[ "inside" ].map = insideMap1;
}
if ($("#radio2").is(":checked")) {
material[ "inside" ].map = insideMap2;
}
if ($("#radio3").is(":checked")) {
material[ "inside" ].map = insideMap3;
}
});
最佳答案
使用三个缓存:
<script>
$(document).ready(function() {
THREE.Cache.enabled = true;
var url = '/img/DSC03537.JPG';
var newImg = document.createElement('img');
newImg.src = url;
THREE.Cache.add(url, newImg);
// main program part
var insideMap2 = THREE.ImageUtils.loadTexture(url);
$("#testBox").change(function () {
$("#tstImg").map = insideMap2;
});
});
</script>
注意:THREE.ImageUtils.loadTexture 正在弃用。请改用 THREE.TextureLoader()。
关于javascript - 调用 JavaScript preload() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34445418/