Bir küre oluşturdum ve bir bağlantı kümem var. Kürenin konumunu değiştirmek veya herhangi bir linke tıklayarak küre döndürmek istiyorum. Çok fazla aramaya çalıştım ama buna benzer bir örnek bulamıyorum.Üç.js'deki bağlantıya tıklayarak küre döndürün
-1
A
cevap
0
Sadece bir HTML öğesi oluşturma ve bir JS işlevini "onclick" etkinliğiyle ilişkilendirmek meselesi.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Rotate Mesh On Button Clicked</title>
</head>
<body>
<button onclick="myFunction()">Rotate</button>
<script type="text/javascript" src="three.min.js"></script>
<script type="text/javascript" src="OrbitControls.js"></script>
<script type="text/javascript" src="scene.js"></script>
</body>
</html>
JavaScript'i
HTML
var container, camera, scene, renderer;
var geometry, material, mesh;
var cameraControls;
init();
animate();
function init() {
container = document.createElement('div');
document.body.appendChild(container);
// renderer
renderer = new THREE.WebGLRenderer({ antialias: true });
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColor(0xdbdbdb);
container.appendChild(renderer.domElement);
// scene
scene = new THREE.Scene();
// camera
camera = new THREE.PerspectiveCamera(35, window.innerWidth/window.innerHeight, 1, 10000);
camera.position.set(3, 0.5, 40);
scene.add(camera);
// controls
cameraControls = new THREE.OrbitControls(camera, renderer.domElement);
// lights
scene.add(new THREE.AmbientLight(0x222222));
var light = new THREE.PointLight(0xffffff, 0.8);
camera.add(light);
// objects
geometry = new THREE.CylinderGeometry(5, 5, 5, 5);
material = new THREE.MeshPhongMaterial( {color: 0x00aafa});
mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
window.addEventListener('resize', onWindowResize, false);
}
function myFunction() {
mesh.rotateX(90);
}
function onWindowResize() {
camera.aspect = window.innerWidth/window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize(window.innerWidth, window.innerHeight);
}
function animate() {
requestAnimationFrame(animate);
render();
cameraControls.update();
}
function render() {
camera.lookAt(scene.position);
renderer.render(scene, camera);
}
Farklı: Burada temel bir sahnede çabuk uygulama bir düğmeyi kullanarak, var (siz istediğiniz gibi bir bağlantı veya değiştirebilirsiniz) Düğmeye tıklandığında, Mesh'i 90 derece döndüren oldukça basit olan "myFunction" işlevini görürsünüz.
İlgili konular
- 1. Kullanıcı, uzantılarla kromu tıklayarak yeni bağlantıya nasıl yönlendirilir?
- 2. Küre yüzeyindeki kontur çizimleri
- 3. Bir bağlantıya tıklayarak bir açılır menü için bir değer nasıl ayarlanır
- 4. Pentagonsuz küre üzerinde altıgen ızgara
- 5. Küre yüzeyinde SceneKit yazınız mı?
- 6. Dünyaya benzeyen bir küre oluşturma
- 7. Axis2 Bağlantıya başarılı bir şekilde yazdıktan sonra bağlantıya sıfırlama
- 8. Açısal denetleyici bağlantıya yüklenmiyor
- 9. 'on' bağlantıya katılma seçeneği
- 10. url'yi değiştirmeden bağlantıya git
- 11. UIImage'ı Döndürün?
- 12. Cakephp düğmesini harici bağlantıya yönlendirin
- 13. Bir tablodaki bağlantıya tıklamak Geb
- 14. 2d küre endeksi Mongo konsolda sorguda aşağıdaki
- 15. matlab kullanarak bir düzleme bir küre çizme
- 16. Dizgiyi işleve döndürün
- 17. Dikdörtgeni merkezin etrafında döndürün
- 18. Bir nesne numarası döndürün
- 19. döndürün teta = 0
- 20. html5 onClick Kontroller tıklayarak tıklatıldıClick
- 21. JBanton'a tıklayarak JPanel nasıl eklenir?
- 22. Chrome'da "sağ tıklayarak" klavye kısayolu
- 23. td alanına tıklayarak URL'ye yönlendirme
- 24. HTML içinde bir düğmeyi tıklayarak mevcut sekmeyi nasıl kapatabilirim?
- 25. Özel hücreden NSIndexPath döndürün? (UITableView)
- 26. jquery ajax içinde xml döndürün
- 27. boş bir vektör döndürün C++
- 28. Web2py jsonu döndürün veya yönlendirin
- 29. döndürün dizi ve nesne değişkeni
- 30. Her zaman pozitif değer döndürün
Kolay ipucu. Kullanıcılar için kod yazmak iyi bir fikir değildir - özellikle bir ödev ise. Önce ne denediklerini göstermeliler. O zaman onlara yardım et. – WestLangley
Elbette, temel bir sahne kurulumunu hazırladım, böylece daha iyi bir genel bakış sunmak için her şeyi yayınlamayı düşündüm. – leota