|
其实大多数人会选用Peasycam 但是如果还涉及到鼠标操作会怎么办呢 对啊 可以用键值停用Peasycam 但是这样就略显麻烦了 特别是在android的操作上
其实问题不是那么难 给大家分享一个函数
这样可以很方便修改参数 虽然不能平移 但是可以很方便翻转
int offsetX = 0, offsetY = 0, clickX = 0, clickY = 0;
float rotationX = 0, rotationY = 0, targetRotationX = 0, targetRotationY = 0, clickRotationX, clickRotationY;
void mousePressed(){
clickX = mouseX;
clickY = mouseY;
clickRotationX = rotationX;
clickRotationY = rotationY;
}
void setView() {
translate(width*0.5,height*0.5);
if (mousePressed) {
offsetX = mouseX-clickX;
offsetY = mouseY-clickY;
targetRotationX = clickRotationX + offsetX/float(width) * TWO_PI;
targetRotationY = min(max(clickRotationY + offsetY/float(height) * TWO_PI, -HALF_PI), HALF_PI);
rotationX += (targetRotationX-rotationX)*0.25;
rotationY += (targetRotationY-rotationY)*0.25;
}
rotateX(-rotationY);
rotateY(rotationX);
}
setView() 的调用是在draw()函数中
void mousePressed()可以添加具体的鼠标按键
这种写法改android要方便很多 |
|