跟着官方demo 学flame 之 word 坐标系以及Camera的一些属性

ini 复制代码
//计算放大比例 让试图充满宽或者高
final zoomLevel = min(
  canvasSize.x / trackSize.x,
  canvasSize.y / trackSize.y,
);
startCamera = CameraComponent(world: world)
  ..viewfinder.position = Vector2(0, 0) //指定相机瞄准的坐标
  ..viewfinder.anchor = Anchor.bottomLeft //指定瞄准的位置在屏幕的位置
  ..viewfinder.zoom = zoomLevel - 0.2;//指定放大的倍数
add(startCamera);

前情提要:1 word 的世界是以左下角为(0,0) 向右 向下 为正。

2 这里的视图内容是一个(0,0)-(500,500)的区域

js 复制代码
 ..viewfinder.position = Vector2(0, 0) //指定相机瞄准的坐标
 ..viewfinder.anchor = Anchor.bottomLeft //指定瞄准的位置在屏幕的位置

指定相机瞄准(0,0),且相机位于左下角。效果图如下

js 复制代码
 ..viewfinder.position = Vector2(0, 0) //指定相机瞄准的坐标
 ..viewfinder.anchor = Anchor.center //指定瞄准的位置在屏幕的位置

指定相机瞄准(0,0),且相机居中(也就是相机瞄准的(0,0)位于屏幕中央)。效果图如下

ini 复制代码
..viewfinder.position = Vector2(250, 250)
..viewfinder.anchor = Anchor.center

指定相机瞄准(250,250),且相机居中(也就是相机瞄准的(250,250)位于屏幕中央,内容中心居中)。效果图如下:

相关推荐
maaath5 小时前
【maaath】Flutter for OpenHarmony 实战:旅游攻略应用开发指南
flutter·华为·harmonyos
jiejiejiejie_6 小时前
Flutter for OpenHarmony 跨平台开发:计算器功能实战指南
flutter
jiejiejiejie_6 小时前
Flutter for OpenHarmony 交互体验实战合集:底部导航优化 + 萌系用户反馈全攻略
flutter
liulian09167 小时前
Flutter for OpenHarmony 跨平台开发:番茄钟功能实战指南
flutter
liulian09168 小时前
Flutter for OpenHarmony 效率工具开发实战:我实现的番茄钟与倒计时功能总结
flutter
jiejiejiejie_9 小时前
Flutter for OpenHarmony 跨平台开发:待办事项功能实战指南
flutter
maaath10 小时前
【maaath】Flutter for OpenHarmony 实战:电影榜单应用开发指南
flutter·华为·harmonyos
xmdy586613 小时前
Flutter+开源鸿蒙实战|智安盾电商溯源平台Day6 登录逻辑+积分体系+全局收尾优化
flutter·华为·harmonyos
liulian091614 小时前
Flutter for OpenHarmony 工具类应用实战总结:计算器 + 记事本功能开发全解析
flutter
911hzh15 小时前
Flutter WebRTC iOS 原理解析:从 getUserMedia 到 Texture,讲清视频采集、纹理渲染与远端通话链路
flutter·ios·webrtc