@Override public int getValues(Flip3DCamera target, int tweenType, float[] returnValues) { switch(tweenType){ case Zoom: returnValues[0] = target.getZoom(); return 1; case XY: returnValues[0] = target.position.x ; returnValues[1] = target.position.y ; return 2; case ROTATION_Z: returnValues[0] = target.getAngleZ(); return 1; case ROTATION_X: returnValues[0] = target.getAngleX(); return 1; case ROTATION_Y: returnValues[0] = target.getAngleY(); return 1; default: assert false; return -1; } }
public void resize(float width,float height){ this.viewportWidth = width; this.viewportHeight = height; this.position.set(width/2, height/2,height/2); this.near = 1; this.far = height; this.lookAt.set(width/2,height/2,0); this.lookAt(lookAt.x, lookAt.y, lookAt.z); this.fieldOfView = 90;//not 67 now final float zoom = this.getZoom(); this.setZoom(zoom); }
public void setAngleX(float angleX) { this.rotateAround(lookAt, axisX , angleX-this.angleX); this.angleX = angleX; } public float getAngleY() {
@Override public void setValues(Flip3DCamera target, int tweenType, float[] newValues) { switch(tweenType){ case Zoom: target.setZoom(newValues[0]); break; case XY: target.position.x = newValues[0]; target.position.y = newValues[1]; break; case ROTATION_Z: target.setAngleZ(newValues[0]); break; case ROTATION_X: target.setAngleX(newValues[0]); break; case ROTATION_Y: target.setAngleY(newValues[0]); break; default: assert false; } }
@Override protected void doTransition(final int halfDurationMillis) { if(Tween.getRegisteredAccessor(Flip3DCamera.class)==null){ Tween.registerAccessor(Flip3DCamera.class,new Flip3DCameraAccessor()); } flipCamera = new Flip3DCamera(Engine.getWidth(), Engine.getHeight()); outgoing.hide(); Tween .to(flipCamera, Flip3DCameraAccessor.ROTATION_X, halfDurationMillis).target(90) .setCallback(new TweenCallback() { @Override public void onEvent(int type, BaseTween<?> source) { flipCamera.setAngleX(-90); doSetMainScene(incoming); Tween .to(flipCamera, Flip3DCameraAccessor.ROTATION_X, halfDurationMillis).target(0) .setCallback(new TweenCallback() { @Override public void onEvent(int type, BaseTween<?> source) { Gdx.input.setInputProcessor(incoming.getInputProcessor()); incoming.show(); reset(); } }).start(Engine.getTweenManager()); } }).start(Engine.getTweenManager()); }
public Flip3DCamera(float width,float height){ this.viewportWidth = width; this.viewportHeight = height; this.position.set(width/2, height/2,height/2); this.near = 0; this.far = height; this.lookAt.set(width/2,height/2,0); this.lookAt(lookAt.x, lookAt.y, lookAt.z); this.fieldOfView = 90;//not 67 now }
@Override public void onEvent(int type, BaseTween<?> source) { flipCamera.setAngleX(-90); doSetMainScene(incoming); Tween .to(flipCamera, Flip3DCameraAccessor.ROTATION_X, halfDurationMillis).target(0) .setCallback(new TweenCallback() { @Override public void onEvent(int type, BaseTween<?> source) { Gdx.input.setInputProcessor(incoming.getInputProcessor()); incoming.show(); reset(); } }).start(Engine.getTweenManager()); } }).start(Engine.getTweenManager());
@Override public void onEvent(int type, BaseTween<?> source) { flipCamera.setAngleY(-90); doSetMainScene(incoming); Tween .to(flipCamera, Flip3DCameraAccessor.ROTATION_Y, halfDurationMillis).target(0) .setCallback(new TweenCallback() { @Override public void onEvent(int type, BaseTween<?> source) { Gdx.input.setInputProcessor(incoming.getInputProcessor()); incoming.show(); reset(); } }).start(Engine.getTweenManager()); } }).start(Engine.getTweenManager());
@Override protected void doTransition(final int halfDurationMillis) { if(Tween.getRegisteredAccessor(Flip3DCamera.class)==null){ Tween.registerAccessor(Flip3DCamera.class,new Flip3DCameraAccessor()); } flipCamera = new Flip3DCamera(Engine.getWidth(), Engine.getHeight()); outgoing.hide(); Tween .to(flipCamera, Flip3DCameraAccessor.ROTATION_Y, halfDurationMillis).target(90) .setCallback(new TweenCallback() { @Override public void onEvent(int type, BaseTween<?> source) { flipCamera.setAngleY(-90); doSetMainScene(incoming); Tween .to(flipCamera, Flip3DCameraAccessor.ROTATION_Y, halfDurationMillis).target(0) .setCallback(new TweenCallback() { @Override public void onEvent(int type, BaseTween<?> source) { Gdx.input.setInputProcessor(incoming.getInputProcessor()); incoming.show(); reset(); } }).start(Engine.getTweenManager()); } }).start(Engine.getTweenManager()); }
public void setAngleY(float angleY) { this.rotateAround(lookAt, axisY , angleY-this.angleY); this.angleY = angleY; } public float getAngleZ() {
public void setAngleZ(float angleZ) { this.rotateAround(lookAt, axisZ , angleZ-this.angleZ); this.angleZ = angleZ; }