rotation
是Yuka.js库中的一个触发器类,用于检测对象的旋转变化。
创建一个rotation
对象实例。
const rotationTrigger = new YUKA.rotation();
指定旋转变化的最小阈值。默认值为0.。
rotationTrigger.threshold = 0.1;
指定旋转变化所围绕的轴。默认为Y
轴。
// 围绕Z轴旋转
rotationTrigger.axis.set(0, 0, 1);
检查给定对象的旋转变化是否超过了指定的阈值。如果是,则返回true
并触发事件。否则,返回false
。
const entity = new YUKA.Entity();
entity.rotation.set(Math.PI / 4, 0, 0);
if (rotationTrigger.update(entity)) {
// 触发事件
}
重置所有内部状态。
rotationTrigger.reset();
旋转变化事件,当检测到对象的旋转变化超过了指定的阈值时,将触发此事件。
rotationTrigger.addEventListener('change', (entity) => {
console.log('触发了旋转变化事件!');
});
const rotationTrigger = new YUKA.rotation();
const entity = new YUKA.Entity();
entity.rotation.set(Math.PI / 4, 0, 0);
rotationTrigger.threshold = 0.1;
if (rotationTrigger.update(entity)) {
console.log('检测到对象的旋转变化!');
}
rotationTrigger.addEventListener('change', (entity) => {
console.log('触发了旋转变化事件!');
});
entity.rotation.set(Math.PI / 2, 0, 0);
if (rotationTrigger.update(entity)) {
console.log('检测到对象的旋转变化!');
}