#bevy #chroma #razer #game-engine #gamedev #api-bindings #game

bevy_mod_chroma

Bevy 游戏引擎插件,用于控制 Razer Chroma 设备

6 个版本 (重大变更)

0.5.0 2023 年 7 月 11 日
0.4.0 2023 年 7 月 10 日
0.3.0 2023 年 5 月 21 日
0.2.0 2023 年 5 月 7 日
0.1.1 2023 年 5 月 1 日

757游戏开发

Download history 69/week @ 2024-03-31 1/week @ 2024-04-07

每月 55 次下载

MIT 许可证

59KB
896 代码行

bevy_mod_chroma

Crates.io License Bevy tracking

Razer Chroma 对 Bevy 的支持插件。使用 Razer Chroma HTTP API 与 Razer Chroma 系统通信。

使用方法

您需要安装 Razer Chroma 软件才能正确使用此插件。
如果您没有某些类型的硬件设备,Razer 还提供模拟器,您可以使用它来测试您的效果。

一般流程是您需要通过 Chroma::create_effect 注册效果以获取 EffectHandle,然后您可以传递该句柄到 Chroma::apply_effect 来应用。

有关更详细的示例,请参阅 示例目录

系统设置

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

use bevy::prelude::*;
use bevy_mod_chroma::{
    Author, Category, ChromaPlugin, ChromaRunnerInitializationSettings, InitRequest, SupportedDevice,
};

fn main() {
    App::new()
        .add_plugins(ChromaPlugin::new(ChromaRunnerInitializationSettings::new(
            InitRequest {
                title: "Your Bevy app title goes here",
                description: "Your Bevy app description goes here",
                author: Author {
                    name: "Your name",
                    contact: "Your contact",
                },
                device_supported: vec![
                    SupportedDevice::Keyboard,
                    SupportedDevice::Mouse,
                    //...
                ],
                category: Category::Application, // or Category::Game
            },
        )))
        //...
        .run();
}

注意:您提供给 ChromaRunnerInitializationSettings 的信息将在 Razer Synapse 连接菜单中显示!

创建和应用效果

在系统中使用 Chroma 参数创建和应用效果

use bevy_mod_chroma::{Chroma, Effect, EffectHandle, MouseEffect};

fn red_mouse(mut chroma: Chroma) {
    let red_handle = chroma.create_effect(Effect::Mouse(MouseEffect::Static {
        color: Color::RED.into(),
    }));

    chroma.apply_effect(&red_handle);
}

兼容的 Bevy 版本

主分支与最新的 Bevy 版本兼容。

bevy_mod_chroma 版本的兼容性

bevy_mod_chroma 分支 兼容的 Bevy 版本
develop 0.11
bevy_0.10 0.10

待办事项

  • 文档
  • 错误处理
  • 重试
  • 断开后重新连接

需要

  • WebSocket 版本
  • 内置动画支持

依赖项

43–79MB ~
~1M SLoC