14个版本 (重大更新)

0.13.0 2024年8月4日
0.12.0 2024年7月10日
0.11.1 2024年3月21日
0.10.0 2023年11月6日
0.2.0 2022年1月9日

#60游戏开发

Download history 393/week @ 2024-04-22 256/week @ 2024-04-29 303/week @ 2024-05-06 283/week @ 2024-05-13 263/week @ 2024-05-20 223/week @ 2024-05-27 361/week @ 2024-06-03 246/week @ 2024-06-10 235/week @ 2024-06-17 255/week @ 2024-06-24 186/week @ 2024-07-01 338/week @ 2024-07-08 322/week @ 2024-07-15 318/week @ 2024-07-22 324/week @ 2024-07-29 396/week @ 2024-08-05

每月1,392次下载
8 个包 中使用

MIT/Apache

37KB
277

bevy_pancam

crates.io MIT/Apache 2.0 crates.io docs.rs

bevy的2D相机插件,与正交相机一起工作。

动机是这可以用于类似2D游戏地图编辑器的东西。

控制方式

行为类似于常见的在线地图应用程序

  • 点击并拖动以移动相机
  • 滚动以缩放

使用方法

将插件添加到您的应用程序中

App::new()
    .add_plugins((DefaultPlugins, PanCamPlugin::default()))
    .run();

将组件添加到正交相机中

commands.spawn(Camera2dBundle::default())
    .insert(PanCam::default());

这足以开始使用合理的默认值。

或者,设置PanCam组件的字段以自定义行为

commands.spawn(Camera2dBundle::default())
    .insert(PanCam {
        grab_buttons: vec![MouseButton::Left, MouseButton::Middle], // which buttons should drag the camera
        enabled: true, // when false, controls are disabled. See toggle example.
        zoom_to_cursor: true, // whether to zoom towards the mouse or the center of the screen
        min_scale: 1., // prevent the camera from zooming too far in
        max_scale: Some(40.), // prevent the camera from zooming too far out
    });

请参阅simpletoggle示例。

Cargo功能

  • bevy_egui使pancam相机在鼠标或键盘焦点在由bevy_egui创建的小部件上时不会做出反应

Bevy版本支持

main分支针对最新的bevy版本。

bevy bevy_pancam
0.14 0.12, 0.13 main
0.13 0.11
0.12 0.10
0.11 0.9
0.10 0.8
0.9 0.7,
0.8 0.5, 0.6
0.7 0.3, 0.4
0.6 0.2
0.5 0.1

许可证

bevy_pancam可以选择以下任一方式双许可

由您选择。

贡献

欢迎PR!

依赖关系

~34–71MB
~1M SLoC