16个不稳定版本 (7个破坏性更新)
0.9.0 | 2024年3月17日 |
---|---|
0.8.0 | 2023年11月5日 |
0.7.0 | 2023年7月12日 |
0.6.0 | 2023年3月8日 |
0.2.4 | 2021年11月22日 |
#703 in 游戏开发
每月125次下载
用于 2 库
585KB
349 行
Bevy Tiled Camera
在bevy中正确显示低分辨率像素完美2D游戏的相机。它通过调整视口以匹配目标分辨率来实现,目标分辨率由瓦片数量和每瓦片的像素数定义。
示例
use bevy_tiled_camera::*;
use bevy::prelude::*;
fn setup(mut commands:Commands) {
// Sets up a camera to display 80 x 35 tiles.
// Defaults to 8 pixels per tile with WorldSpace::Units.
let camera_bundle = TiledCameraBundle::unit_cam([80,35]);
commands.spawn(camera_bundle);
}
fn main() {
App::new()
.add_plugins((DefaultPlugins, TiledCameraPlugin))
.add_systems(Startup, setup)
.run();
}
世界空间
你的世界空间定义了你的游戏中变换和缩放的处理方式。你可以使用世界单位或像素来定位一切。相机通过其 world_space
函数支持这两种方式。
版本
bevy | bevy_tiled_camera |
---|---|
0.13 | 0.9.0 |
0.12 | 0.8.0 |
0.11 | 0.7.0 |
0.10 | 0.6.0 |
0.9 | 0.5.0 |
0.8 | 0.4.0 |
0.6 | 0.3.0 |
0.5 | 0.2.4 |
0.5 | 0.2.3 |
模糊精灵
默认情况下,bevy将创建所有新的图像使用线性图像采样。这对于较小的、高分辨率的图像来说是好的,但对于低分辨率图像会导致严重的模糊。要修复它,你可以在创建图像时手动将图像采样器设置为最近邻,或将默认值更改为始终使用最近邻采样创建新图像。
use bevy::prelude::*;
use bevy_tiled_camera::*;
App::new()
.add_plugins((DefaultPlugins.set(ImagePlugin::default_nearest()), TiledCameraPlugin))
.run();
依赖项
~18–46MB
~729K SLoC