此页面尚在编辑中

前言

欢迎来到SRA开发文档。SRA是一个基于Python语言开发的自动化工具,旨在帮助玩家在崩坏星穹铁道游戏中实现自动化操作。

SRA的开发文档旨在为开发者提供详细的指导,帮助了解SRA的基本概念、API使用方法以及插件开发规范。通过阅读文档,开发者可以快速上手SRA,并根据自己的需求进行定制化开发。

感谢您在百忙之中阅读SRA开发文档。这个文档将向你展示从Python基础开始的SRA开发。如果你已经有相关基础,可以跳过这部分然后开始阅读SRA API

学习

环境:

Python 基础

Python 进阶

约定

为SRA进行开发时,建议遵守下面的约定

SRA API

SRA API在源码中均有详细注释,此处只罗列而不详细介绍

鼠标事件

鼠标事件是SRA的一个重要功能,它可以模拟鼠标的点击、移动等操作。鼠标事件的API如下:

键盘事件

键盘事件是SRA的一个重要功能,它可以模拟键盘的按键、组合键等操作。键盘事件的API如下:

画面检测

画面检测是SRA的一个重要功能,它可以检测屏幕上的图像,并返回图像的位置。画面检测的API如下:

电源操作

电源操作是SRA的一个重要功能,它可以模拟电源的操作。电源操作的API如下:

进程操作

进程操作是SRA的一个重要功能,它对进程操作。进程操作的API如下:

配置操作

配置操作是SRA的一个重要功能,它对配置进行操作。配置操作的API如下:

日志操作

日志操作是SRA的一个重要功能。日志操作的API如下:

对话框

对话框是SRA的一个重要功能,它可以显示对话框。对话框的API如下:

插件开发指南

仅限0.8.1+

插件介绍

插件是SRA的扩展模块,通过插件可以实现一些特定的功能。插件可以是一个单独的Python文件,也可以是一个包含多个Python文件的文件夹。或用Python调用其他语言。

插件结构

插件的结构如下:

            
                插件名/
                ├── __init__.py
                ├── 插件文件1.py
                ├── 插件文件2.py
                ├── ...
                └── 资源/
                    ├── 资源文件1.png
                    ├── 资源文件2.png
                    ├──...
            
        

其中,__init__.py是插件的入口文件,用于初始化插件。插件文件可以是Python文件,也可以是其他类型的文件。资源文件夹用于存放插件所需的资源文件,如图片、音频等。

插件元数据

插件的元数据是若干用于描述插件的信息,或用于请求与SRA交互。元数据的键值对如下:

元数据的示例如下:

            
                NAME = "MyPlugin"
                VERSION = "1.0.0"
                DESCRIPTION = "A plugin for SRA"
                AUTHOR = "John Doe"
                UI = None
            
        

插件API

插件API是用于与SRA进行交互的接口。插件API的方法如下:

插件示例

下面是一个简单的无UI插件示例:

            
                __init__.py

                from SRACore.util.Plugins import PluginBase, PluginManager

                NAME = "MyPlugin"
                VERSION = "1.0.0"
                DESCRIPTION = "A plugin for SRA"
                AUTHOR = "John Doe"

                def run():
                    # 插件启动时调用的方法
                    plugin = MyPlugin()
                    plugin.start()  # 启动插件线程
                    PluginManager.register(plugin)
                
                class MyPlugin(PluginBase):
                    def __init__(self):
                        super().__init__()
                        # 初始化插件
                        pass
                    def run(self):
                        # 插件启动时调用的方法
                        pass
            
        

插件开发规范

插件开发时,需要遵循以下规范: