5

Chỉnh sửa: Dường như vấn đề là dành cho bàn di chuột không.Trả lời chuyển động của chuột khi nhấn phím (Javascript, jQuery)

Mục tiêu:Để có thể phản hồi lại chuyển động của chuột ngay cả khi nhấn phím.

Tôi muốn sửa đổi PointerLockControls của Three.js sao cho: nếu người dùng di chuyển chuột khi nhấn "W", thì máy ảnh sẽ tiếp tục di chuyển về phía trước và hướng camera cũng thay đổi theo chuyển động của chuột. Điều này không xảy ra trong kịch bản bình thường. Dưới đây là những người nghe:

Listener cho sự kiện MouseMove:

var onMouseMove = function (event) { 
    var movementX = event.movementX || event.mozMovementX || event.webkitMovementX || 0; 
    camera.rotation.y-=movementX*0.002; 
    }; 

Listener cho sự kiện KeyDown:

var onKeyDown = function (event) { 

     case 38: // up 
     case 87: // w 
      moveForward = true; 
      break; 
     //keys: a, s, d are handled similarly 

     case 32: // space 
      if (canJump === true) velocity.y += 10; 
      canJump = false; 
      break; 
    } 

Listener cho sự kiện KeyUp:

var onKeyUp = function(event){ 
     case 38: // up 
     case 87: // w 
      moveForward = false; 
      break; 
} 

Tôi thấy rằng, nếu tôi nhấn phím cách khi nhấn "W", thì trình phát tiếp tục tiến lên VÀ trả lời chuyển động của chuột. Đây là hiệu ứng tôi muốn (nhưng nó sẽ hoạt động mà không cần nhấn phím cách).

+0

Có thể bạn đang sử dụng phiên bản cũ hơn của ba.js không? Tôi vừa chạy ví dụ http://mrdoob.github.com/three.js/examples/misc_controls_pointerlock.html ở chế độ toàn màn hình và những gì xảy ra hoàn toàn ngược lại với những gì bạn mô tả. Khi nhấn "W", máy ảnh tiếp tục di chuyển về phía trước và hướng của máy ảnh sẽ thay đổi theo chuyển động của chuột. Khi thanh dấu cách được nhấn thì chỉ có chuyển động thẳng đứng (ngay cả khi nhấn W). – gaitat

+0

Oh .... khi tôi sử dụng bàn di chuột của máy tính xách tay của mình, thì hành vi như tôi đã mô tả. Nhưng khi tôi sử dụng chuột, thì hành vi là như bạn đã mô tả nó. hmm .... trông giống như một vấn đề mới mẻ ... – coolscitist

+0

Bàn di chuột của tôi không giống với hành vi của chuột. – gaitat

Trả lời

2

Thông thường, Hệ điều hành sẽ tắt bàn di chuột khi nhập. Bạn sẽ tìm thấy tùy chọn để chuyển đổi điều này ở đâu đó trên cài đặt OS của bạn.

+0

Nó hoạt động sau khi tôi vô hiệu hóa tùy chọn "Touch Check" của touchpad trong Windows 7. Cảm ơn rất nhiều. – coolscitist

Các vấn đề liên quan