2010-07-14 15 views
10

Tôi muốn để kịch bản khởi tạo của tôi tạo thêm cảm biến/bộ điều khiển/bộ truyền động cần thiết cho ứng dụng Máy xay sinh tố tương tác (không nhất thiết là trò chơi). Điều này thích hợp hơn vì hai lý do:Làm thế nào để tạo ra các khối logic lập trình trong Blender?

  • Tôi có thể sử dụng tập lệnh này trong nhiều ứng dụng. Việc tạo ra logic chung lặp đi lặp lại là tẻ nhạt. Và không có cách nào khác để nhập AFAIK.
  • Việc tạo các mô-đun Python của tôi tạo các khối logic lôgic dễ dàng hơn và thoải mái hơn cho tôi vì tôi là một người lập trình. (... và mã có thể được kiểm soát phiên bản, đánh giá ngang hàng, dễ dàng ghi lại tài liệu, v.v.)

Thực sự tạo một tệp mẫu giải quyết một phần vấn đề đầu tiên. Nhưng sau đó tôi không thể trộn và kết hợp các phần khác nhau cho các dự án khác nhau, hoặc tôi phải tạo một mẫu cho mỗi khả năng.

Tôi đã tìm kiếm cả hai Game Engine docsPython API nhưng không thể tìm thấy bất kỳ đầu mối nào. __init__ phương pháp gạch logic thậm chí không được liệt kê ở đó.

Nhưng nếu có bất kỳ cách nào để tạo các khối logic logic trong Python tôi muốn thử nó.

LƯU Ý: với kiến ​​thức hạn chế về BGE của tôi, bạn không thể, ví dụ, truy cập các phím bấm trực tiếp từ Python. Một cảm biến là bắt buộc.

Trả lời

2

Vì vậy - vì nó không có cách nào để tạo các khối logic lôgic trực tiếp từ Python.

Khi bạn khởi tạo một đối tượng trong BGE (giống như với một bộ truyền động đối tượng bổ sung), các khối logic từ đối tượng được khởi tạo đi kèm với nó - và bạn có thể thay đổi và sắp xếp lại chúng - bao gồm cả việc thay đổi cảm biến, bộ điều khiển và bộ truyền động

Tôi nghĩ rằng đây là giải pháp thay thế hiện tại: bạn tạo một ma trận trống của senor chung, bộ điều khiển và bộ truyền động và khi bạn thêm đối tượng mới vào cảnh, hãy gọi hàm điền thông số cho khối logic và thực hiện dây yêu cầu.

+1

Cảm ơn câu trả lời. Nhưng tôi không chắc tôi hiểu phương pháp bạn đã đề cập. Có thể đưa ra một ví dụ cụ thể hơn? – muhuk

+0

Xin cảm ơn, thưa ngài! –