Chương 4: Tạo chuyển động tương tác VRML 4.1 Khái niệm kiện tuyến nối 4.1 Sự kiện “Event routing” cho phép kiện phát sinh truyền đến “đích”- nút hệ thống, từ gây thay đổi cho riêng nút hệ thống Xử lý kiện eventIn: Nhận kiện eventOut: Gửi thông điệp ROUTE: Thiết lập đường dẫn kiện nút Script: Xử lý hành vi 4.2 Tuyến nối ROUTE TO Thường đặt cuối tệp tin cuối khai báo DEF 4.2 Các sensor 4.2.1 Time sensor Cú pháp TimeSensor { # (0, ∞) cycleInterval enabled loop TRUE FALSE startTime # (- ∞, ∞) stopTime # (- ∞, ∞) eventOut SFTime cycleTime eventOut SFFloat fraction_changed eventOut SFBool isActive eventOut SFTime time } Nút tạo kiện theo thời gian Dùng cho mục đích: Mơ điều khiển hình ảnh động Điều khiển hoạt động định kỳ Khởi tạo kiện xảy đồng hồ báo thức Thuộc tính cycleInterval: Xác định số giây tạo kiện, ví dụ có giá trị 1.0 tạo kiện liên tiếp giây enabled: Kích hoạt hay vơ hiệu hóa nút TimeSensor loop: Cho phép lặp hay khơng startTime: Thời gian bắt đầu chạy stopTime: Thời gian kết thúc chạy set_startTime: Thiết lập lại thời gian bắt đầu chạy set_stopTime: Thiết lập lại thời gian kết thúc chạy set_enabled: Thiết lập lại trạng thái hoạt động Sự kiện fraction_changed Chỉ có sử dụng cycleInterval Gửi phần hoàn thành chu kỳ time Gửi thời gian cho đánh dấu mô phỏng(simulation tick) Bắt đầu đánh dấu mô lớn hay startTime Kết thúc stopTime startTime + N x cycleInterval với giá trị số nguyên N lặp vô hạn tùy thuộc vào giá trị trường khác isActive: Gửi giá trị TRUE nút TimeSensor bắt đầu chạy FALSE dừng lại cylcleTime: Gửi kiện thời gian startTime vào lúc bắt đầu chu kỳ (hữu ích cho việc đồng hóa đối tượng dựa thời gian) Các kiện tạo liên tục Khi nút TimeSensor kích hoạt tạo kiện isActive = TRUE bắt đầu tạo kiện time, fraction_change cycleTime chuyển đến nút khác để điều khiển ảnh động mô hành vi ... thời gian) Các kiện tạo liên tục Khi nút TimeSensor kích hoạt tạo kiện isActive = TRUE bắt đầu tạo kiện time, fraction_change cycleTime chuyển đến nút khác để điều khiển ảnh động mô hành vi ...Khởi tạo kiện xảy đồng hồ báo thức Thuộc tính cycleInterval: Xác định số giây tạo kiện, ví dụ có giá trị 1.0 tạo kiện liên tiếp giây enabled: Kích hoạt... nguyên N lặp vô hạn tùy thuộc vào giá trị trường khác isActive: Gửi giá trị TRUE nút TimeSensor bắt đầu chạy FALSE dừng lại cylcleTime: Gửi kiện thời gian startTime vào lúc bắt đầu chu kỳ (hữu