Cocos3.2版本拖动屏幕坐标控制Cube旋转

//脚本直接挂在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() {

猜你喜欢

转载自blog.csdn.net/Star_MengMeng/article/details/122893980
今日推荐