//脚本直接挂在Cube上即可
@ccclass('RotateCtrl')
export class RotateCtrl extends Component {
private isClickOn: boolean = false;
start() {
systemEvent.on(SystemEventType.MOUSE_DOWN, this.Down, this);
systemEvent.on(SystemEventType.MOUSE_MOVE, this.Move, this);
systemEvent.on(SystemEventType.MOUSE_UP, this.Up, this);
}
Move(EventTouch: EventMouse) {
if (!this.isClickOn) return;
let delta = EventTouch.getDelta();
let q_tmp = new Quat();
let v_tmp = new Vec3(-delta.y, delta.x, 0);
v_tmp.normalize();
let out_Q = Quat.rotateAround(q_tmp, this.node.rotation, v_tmp, delta.length() * 0.005);
this.node.setRotation(out_Q.x, out_Q.y, out_Q.z, out_Q.w);
}
Down(EventTouch: EventMouse) {
this.isClickOn = true;
}
Up() {