我正在尝试设置动画,从不跟随组件到跟随组件,最后再设置动画到不跟随组件。
// this.camera.follow = Tween()
this.camera.followBodyComponent(SomeComponent);
你知道怎么做吗?
我试过这样的东西:
bool tappedComponent = false;
Vector2 cameraGoToPosition = Vector2(0,0);
Vector2 cameraFromPosition = Vector2(0,0);
void zoomTo(BodyComponent body, Vector2 vec){
cameraFromPosition = body.center;
camera.follow = cameraGoToPosition;
}
@override
void update(double dt) {
super.update(dt);
cameraGoToPosition = cameraGoToPosition * dt;
camera.position = cameraGoToPosition;
}
但是camera.position
没有setter或getter?
更新:发现:
camera.moveTo(body.center);
// camera.moveTo(worldToScreen(body.center));
是否以动画方式移动,但没有将组件放在屏幕中心?
目前最简单的方法可能就是:
camera.moveTo(body.center + camera.canvasSize / 2);
这将针对CameraComponent
API进行改进。