Wenn ich zum ersten Mal einen Radiobutton überprüfe, bekomme ich eine kurze Einfrierung. Wenn Sie sie ein zweites Mal überprüfen, läuft alles super glatt. Ich denke, weil sie jetzt im Browser-Cache sind. Irgendeine Chance auf eine Vorspannung hier? durch Hinzufügen einer setTimeout()
Funktion in Ihrem CodeRufen Sie eine JavaScript-Funktion preload() auf?
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;
}
});
Danke. Haben Sie ein Beispiel für das Vorladen mehrerer Bilder? –
@AlexanderHein. Ich starrte auf Quellen von DREI. Ich kann Ihnen helfen, wenn Sie ein einfaches reales Beispiel machen (HTML mit JS + Bild). Aber THREE.ImageUtils.loadTexture (URL) erstellt auch ein asynchrones Download-Image. Möglicherweise können Sie diese Initialisierung früher ausführen. –