Tôi đang sử dụng Meteor 0.6.3 với thiên thạch. Tôi đang cố gắng phát triển trò chơi bằng Three.js sử dụng Meteor cho nhiều người chơi. Toàn bộ mã số here. Tôi đã thử bằng cách sử dụng gói Atmosphere here, nhưng tôi nhận được:Làm cách nào để đảm bảo Three.js được tải trước các tệp khác trong Meteor?
ReferenceError: THREE is not defined
workaround của tôi đã được bao gồm Three.js trong tiêu đề của tập tin mẫu của tôi. Điều này làm việc khi tôi không gọi hàm Three.js cho đến khi khởi động máy khách. Tôi gặp vấn đề khi tôi cố gắng sử dụng một nguyên mẫu để xác định lớp đồng minh của tôi. Tôi đã có mã như:
var Enemy = function() {
this.mesh = new THREE.Mesh();
};
var Enemy = function(){};
Enemy.prototype = new Entity();
này đưa ra một lỗi mà BA không được định nghĩa, mặc dù đang hoạt động tốt nếu viết như sau:
var Entity = function() {
this.mesh = new THREE.Mesh();
};
var Enemy = function() {
this.mesh = new THREE.Mesh();
};
Tôi muốn để có thể sử dụng mẫu như thế này để quản lý một số loại thực thể sẽ có cùng giao diện cơ bản. Dưới đây là một số những điều tôi cũng đã cố gắng:
Dựa trên the documentation, tôi đã cố gắng đặt một three.min.js trong dự án/dự án/khách hàng/dự án/khách hàng/tương thích/dự án/lib/. Mỗi lần nó nói BA không được xác định hoặc Meteor bị treo.
Xác định các nguyên mẫu này trong tệp html nơi chúng tôi gọi Three.js.
Để làm rõ câu hỏi của mình, tôi tự hỏi liệu có ai có thể đề xuất cách cấu trúc tệp của mình sao cho nó sẽ tải Three.js hay không, sau đó tất cả các tệp của tôi sẽ khởi tạo ứng dụng khách trong Meteor.startup (). Đây là cấu trúc tệp hiện tại:
project/model.js
project/server/server.js
project/client/game.css
project/client/game.html
project/client/game.js
Vui lòng cho tôi biết nếu tôi có thêm thông tin nào. Tôi hy vọng tôi không giết bất kỳ từ khóa nào quá tệ!
thử var BA = require ('ba'); –