Carla 0.9.9 Python API翻译参考

carla.Actor

CARLA将actors定义为在模拟器起作用或可以移动的任何事物。其中包括:行人(pedestrians),车辆( vehicles),传感器(sensors)和交通标志(将交通灯视为其中的一部分)。
Actor通过carla.World在模拟器中生成,并需要创建carla.ActorBlueprint。这些蓝图属于CARLA提供的库,请在here找到有关它们的更多信息。

Instance Variables

  • attributes (dict)
    包含该actor所基于的蓝图属性的字典。
  • id (int)
    该actor的标识符。在给定episode中唯一。
  • parent (carla.Actor)
    Actors可能会附加到他们将跟随的parent actor身上。This is said actor.
  • semantic_tags (list(int))
    蓝图列出组件为此actor提供的语义标记列表。例如。交通信号灯可以标记为“杆”和“交通灯”。这些标签由语义分割传感器使用。在此处找到有关此传感器和其他传感器的更多信息。
  • type_id (str)
    该actor所基于的蓝图的标识符,例如“ vehicle.ford.mustang”

Methods

  • add_impulse(self, impulse)
    添加一个 impulse 给 actor.
    • Parameters:
      • impulse (carla.Vector3D)
  • destroy(self)
    告诉模拟器销毁此actor,如果成功,则返回True。如果它已被销毁,则没有任何效果。
    • Return: bool
    • Warning: 此方法将阻塞脚本,直到模拟器完成销毁为止。
  • get_acceleration(self)
    返回客户端在最后一刻收到的actor的3D加速度矢量(acceleration vector)。该方法不会调用模拟器。
    • Return: carla.Vector3D
  • get_angular_velocity(self)
    返回客户端在最后一刻收到的actor的角速度矢量。该方法不会调用模拟器。
    • Return: carla.Vector3D
  • get_location(self)
    返回客户端在上次时刻中获得的actor的位置。该方法不会调用模拟器。
    • Return: carla.Location
  • get_transform(self)
    返回客户端在最后一刻收到的actor的变换(位置和旋转)。该方法不会调用模拟器。
    • Return: carla.Transform
  • get_velocity(self)
    返回客户端在最后一刻接收到的actor的速度矢量。该方法不会调用模拟器。
    • Return: carla.Vector3D
  • get_world(self)
    返回该actor所属的world。
    • Return: carla.World
  • set_angular_velocity(self, angular_velocity)
    更改actor的角速度矢量
    • Parameters:
      • angular_velocity (carla.Vector3D)
  • set_location(self, location)
    将actor传送到给定位置。
    • Parameters:
      • location (carla.Location)
  • set_simulate_physics(self, enabled=True)
    在此actor上启用或禁用物理模拟。
    • Parameters:
      • enabled (bool)
  • set_transform(self, transform)
    将actor传送到给定的变换(位置和旋转)。
    • Parameters:
      • transform (carla.Transform)
  • set_velocity(self, velocity)
    设置actor的速度矢量。
    • Parameters:
      • velocity (carla.Vector3D)

Dunder methods

  • __str__(self)

carla.ActorAttribute

CARLA为演员提供了蓝图库(carla.BlueprintLibrary)。这些蓝图均具有内部定义的一系列属性。其中一些是可修改的,而其他则不是。提供了可以设置的推荐值列表。

Instance Variables

  • id (str)
    库中的属性名称和标识符。
  • is_modifiable (bool)
    如果可以修改属性的值,则为True。
  • recommended_values (list(str))
    设计蓝图的人员建议的值列表。
  • type (carla.ActorAttributeType)
    属性的参数类型。

Methods

  • as_bool(self)
    将属性读取为布尔值。
  • as_color(self)
    将属性读取为carla.Color。
  • as_float(self)
    将属性读取为float。
  • as_int(self)
    将属性读取为int。
  • as_str(self)
    将属性读取为字符串。

Dunder methods

  • __bool__(self)
  • __float__(self)
  • __int__(self)
  • __str__(self)
  • __eq__(self, other=bool / int / float / str / carla.Color / carla.ActorAttribute)
    如果此actor的属性和其他属性相同,则返回true。
    • Return: bool
  • __ne__(self, other=bool / int / float / str / carla.Color / carla.ActorAttribute)
    如果此actor的属性和其他属性不同,则返回true。
    • Return: bool
  • __nonzero__(self)
    如果此actor的属性不为零或为null,则返回true。
    • Return: bool

carla.ActorAttributeType

CARLA为carla中的actor提供了一个蓝图库。BlueprintLibrary每个都有不同的属性。此类定义了carla.ActorAttribute的类型,可以作为一系列枚举。所有这些信息都在内部进行管理,并在此处列出,以更好地了解CARLA的工作方式。

Instance Variables

  • Bool
  • Int
  • Float
  • String
  • RGBColor

carla.ActorBlueprint

CARLA为actor提供了一个蓝图库,可以通过carla.BlueprintLibrary进行查阅。其中的每一个都包括蓝图的标识符和一系列可以更改或不可更改的属性。此类是库与actor创建之间的中间步骤。actor需要一个actor blueprint来生成。这些将有关该蓝图的信息及其属性和一些标签进行分类以将其存储在对象中。然后,用户可以自定义一些属性,并最终通过carla.World生成actor。

Instance Variables

  • id (str)
    库中所述蓝图的标识符。 E.g. walker.pedestrian.0001.
  • tags (list(str))
    每个蓝图具有的标签列表有助于描述它们。E.g. [‘0001’, ‘pedestrian’, ‘walker’].

Methods

  • has_attribute(self, id)
    如果该蓝图包含属性id,则返回True。
    • Parameters:
      • id (str) – e.g. 对于行人的蓝图,gender 会返回 True。
    • Return: bool
  • has_tag(self, tag)
    如果蓝图列出了指定的标签,则返回True
    • Parameters:
      • tag (str) – e.g. ‘walker’.
    • Return: bool
  • match_tags(self, wildcard_pattern)
    此蓝图列出的任何标签与wildcard_pattern匹配则返回True. Matching follows fnmatch standard.
    • Parameters:
      • wildcard_pattern (str)
    • Return: bool
  • get_attribute(self, id)
    返回该id的actor的属性(如果存在)。
    • Parameters:
      • id (str)
    • Return: carla.ActorAttribute
  • set_attribute(self, id, value)
    如果该id属性是可修改的,则将其值更改为value。
    • Parameters:
      • id (str) – 打算更改的属性的标识符。
      • value (str) – 所述属性的新值。

Dunder methods

  • __iter__(self)
    允许在此类的属性内进行迭代。
  • __len__(self)
    返回此蓝图的属性数量。
  • __str__(self)

carla.ActorList

一个类,包含场景中存在的每个actor并提供对他们的访问。该列表由server自动创建和更新,可以使用carla.World返回。

Methods

  • filter(self, wildcard_pattern)
    根据其变量type_id(标识用于生成它们的蓝图)筛选匹配wildcard_pattern的Actor列表。匹配遵循fnmatch标准。
    • Parameters:
      - wildcard_pattern (str)
    • Return: list
  • find(self, actor_id)
    使用其标识符查找actor并返回它;如果不存在,则返回None
    • Parameters:
      • actor_id (int)
    • Return: carla.Actor

Dunder methods

  • __getitem__(self, pos=int)
    返回与列表中pos位置相对应的actor。
    • Return: carla.Actor
  • __iter__(self)
    允许该对象中参与者的迭代。
  • __len__(self)
    返回列出的参与者数量。
    • Return: int
  • __str__(self)
    解析列出的每个演员的ID
    • Return: str

carla.ActorSnapshot

包含某个actor在某个时刻的所有信息的类。这些对象包含在carla.WorldSnapshot中,时刻发送给客户端。

Instance Variables

  • id(int)
    快照(Snapshot)本身的标识符。

Methods

  • get_acceleration(self)
    返回那一刻为actor注册的加速度矢量。
    • Return: carla.Vector3D
  • get_angular_velocity(self)
    返回那一刻为actor注册的角速度矢量。
    • Return: carla.Vector3D
  • get_transform(self)
    返回那一刻actor的actor’s transform(位置和旋转)。
    • Return: carla.Transform
  • get_velocity(self)
    返回那一刻为actor注册的速度向量。
    • Return: carla.Vector3D

carla.AttachmentType

定义actor及其父级之间的附件选项的类。生成actor时,可以将它们附加到另一个actor,因此它们的位置也会相应更改。这对于相机和传感器特别有用。here是一个简短的配方,在其中我们可以看到传感器在生成时如何连接到汽车。请注意,附件类型在类中声明为枚举。

Instance Variables

  • Rigid
    在固定位置上,对象严格遵循其父位置。
  • SpringArm
    根据相机的情况而伸缩的附件。 SpringArms是一个虚幻引擎组件,因此请检查一下以了解更多有关它们的信息。

carla.BlueprintLibrary

包含为actor生成提供的蓝图的类。它的主要应用是返回产生actor所需的carla.ActorBlueprint对象。每个蓝图都有一个标识符和属性,这些标识符和属性可以更改或不可更改。该库由服务器自动创建,可以通过carla.World访问。
这是一个参考,其中包含所有可用的蓝图及其详细信息

Methods

  • filter(self, wildcard_pattern)
    根据此库中包含的每个蓝图的ID和标签过滤与wildcard_pattern匹配的蓝图列表,并将结果作为新的蓝图返回。匹配遵循fnmatch标准。
    • Parameters:
      • wildcard_pattern (str)
    • Return: carla.BlueprintLibrary
  • find(self, id)
    返回与该标识符相对应的蓝图。
    • Parameters:
      • id (str)
    • Return: carla.ActorBlueprint

Dunder methods

  • __getitem__(self, pos=int)
    返回存储在包含它们的数据结构内在pos位置中的蓝图。
    • Return: carla.ActorBlueprint
  • __iter__(self)
    允许在提供的蓝图内进行迭代的方法。
  • __len__(self)
    返回组成库的蓝图数量。
    • Return: int
  • __str__(self)
    将每个蓝图的标识符解析为字符串。
    • Return: string

carla.BoundingBox

定义盒子位置及其尺寸的Helper类,以后将由carla.DebugHelper或carla.Client使用它来绘制形状和检测碰撞。边界框通常用于碰撞对象。查看此recipe,用户可以在其中拍摄world快照,然后继续绘制交通信号灯的边界框。

Instance Variables

  • extent (carla.Vector3D)
    从框中心到一个顶点的向量。每个轴中的值等于该轴的框大小的一半。
    extent.x * 2 将返回X轴上框的大小。
  • location (carla.Location)
    边界框相对于其父角色的中心。

Methods

  • __init__(self, location, extent)
    • Parameters:
      • location (carla.Location) – 指向将框居中
      • extent (carla.Vector3D) – 包含每个轴一半大小的向量。
  • contains(self, world_point, transform)
    如果在世界空间中传递的点在此边界框内,则返回True。
    • Parameters:
      • world_point (carla.Location) – 世界空间中要检查的点
      • transform (carla.Transform) – 包含将对象的局部空间转换为世界空间所需的位置和旋转。
    • Return: bool
  • get_local_vertices(self)
    返回一个列表,其中包含此对象的顶点在本地空间中的位置。
    • Return: list(carla.Location)
  • get_world_vertices(self, transform)
    返回一个列表,其中包含此对象的顶点在世界空间中的位置。
    • Parameters:
      • transform (carla.Transform) – 包含将对象的局部空间转换为世界空间所需的位置和旋转。
    • Return: list(carla.Location)

Dunder methods

  • __eq__(self, other=carla.BoundingBox)
    如果此位置和范围的位置和范围相等,则返回true。
    • Return: bool
  • __ne__(self, other=carla.BoundingBox)
    如果此位置和范围与其他位置或范围不同,则返回true。
    • Return: bool
  • __str__(self)
    将边界框的位置和范围解析为字符串。
    • Return: str

carla.Client

客户端将CARLA连接到运行模拟的服务器。服务器和客户端都包含一个CARLA库(libcarla),具有一些差异,允许它们之间进行通信。可以创建许多客户端,每个客户端都将连接到模拟中的RPC服务器以发送命令。模拟运行在服务器端。建立连接后,客户端将仅接收从仿真中检索到的数据。行人是例外。客户端负责管理行人,因此,如果您与多个客户端一起运行模拟,则可能会出现一些问题。例如,如果您通过不同的客户端生成步行者,则可能会发生冲突,因为每个客户端仅知道其负责的客户端。

Methods

  • __init__(self, host=127.0.0.1, port=2000, worker_threads=0)
    Client constructor.
    • Parameters:
      • host (str) – 运行CARLA Simulator实例的IP地址。默认是localhost (127.0.0.1).
      • port (int) – 运行CARLA Simulator实例的TCP端口。Default are 2000 and the subsequent 2001.
      • worker_threads (int) – 用于后台更新的工作线程数。如果为0,则使用所有可用的并发。
  • apply_batch(self, commands)
    在单个模拟步骤上执行命令列表,并且不检索任何信息。如果需要有关每个命令的响应的信息,请使用此命令正下方的apply_batch_sync()函数。这是有关如何一次删除出现在carla.ActorList中的actor的示例。
    • Parameters:
      • commands (list) – 批量执行的命令列表。每个命令都是不同的,并且都有自己的参数。它们显示在本页底部。
  • apply_batch_sync(self, commands, due_tick_cue=False)
    在单个模拟步骤上执行命令列表,阻塞直到链接命令,然后返回命令列表。响应可用于确定单个命令是否成功。这是用于生成actor的示例。
    • Parameters:
      • commands (list) – 批量执行的命令列表。可用命令在函数apply_batch()的右上方列出。
      • due_tick_cue (bool) – 一个布尔值参数,用于指定在以同步方式应用批处理之后是否执行carla.World.tick。默认情况下为False。
    • Return: list(command.Response)
  • generate_opendrive_world(self, opendrive, parameters=(2.0, 50.0, 1.0, 0.6, true, true))
    从OpenDRIVE文件的内容生成的基本3D拓扑结构将载入一个新世界。此内容作为字符串参数传递。它类似于client.load_world(map_name),但允许在服务器端自定义OpenDRIVE映射。汽车可以在地图上行驶,但是除了道路和人行道外没有其他图形。
    • Parameters:
      • opendrive (str) – OpenDRIVE文件的内容为字符串,而不是.xodr的路径。
      • parameters (carla.OpendriveGenerationParameters) – 网格生成的其他设置。如果没有提供,将使用默认值。
  • load_world(self, map_name)
    使用map_name的map使用默认设置创建一个新世界。当前世界上的所有actor将被摧毁。
    • Parameters:
      • map_name (str) – 在这个世界上使用的地图名称。接受完整路径和地图名称,例如’/ Game / Carla / Maps / Town01’或’Town01’。请记住,这些路径是动态的。
  • reload_world(self)
    重新加载当前世界,请注意,使用同一地图使用默认设置创建了一个新世界。世界上所有在场的演员都将被销毁,但流量管理器实例仍将存活。
    • Raises: RuntimeError when corresponding.
  • replay_file(self, name, start, duration, follow_id)
    使用map_name 的 map使用默认设置加载新的世界。当前世界中存在的所有参与者都将被销毁,但流量管理器实例将保持存活。
    • Parameters:
      • name (str) – 包含模拟信息的文件名。
      • start (float) – 开始播放模拟的时间(以秒为单位)。负数从末尾开始读取,即在录制结束前10秒钟为-10。
      • duration (float) – 使用信息名称文件将以秒为单位的时间。如果到达终点,则模拟将继续。
      • follow_id (int) – 要关注的actor的ID。如果为0,则禁用相机。
  • show_recorder_actors_blocked(self, filename, min_time, min_distance)
    终端将显示为被阻止的actor注册的信息。当actor在一段时间内未移动最小距离(即min_distance和min_time)时,被视为受阻。
    • Parameters:
      • filename (str) – 要加载的记录文件的名称。
      • min_time (float) – 行动者必须经过最短时间(以秒为单位)才能移动最小距离,然后才被视为受阻。默认值为60秒。
      • min_distance (float) – actor必须移动的最小距离(以厘米为单位)不会被视为被阻挡。默认值为100厘米。
    • Return: string
  • show_recorder_collisions(self, filename, category1, category2)
    终端将显示记录器记录的冲突。可以通过指定相关参与者的类型来过滤它们。类别将在category1和category1中指定,如下所示:‘h’=Hero,可以手动控制或由用户管理的一种车辆。‘v’ = Vehicle ‘w’ = Walker ‘t’ = Traffic light ‘o’ = Other ‘a’ = Any 如果只想看到车辆与步行者之间的碰撞,则将category1用作’v’,将category2用作“ w”,反之亦然。如果要查看所有冲突(过滤掉),可以对两个参数都使用“ a”。
    • Parameters:
      • filename (str) – 记录文件的名称或绝对路径,取决于您先前的选择。
      • category1 (single char) – 角色变量,指定碰撞中涉及的第一种actor。
      • category2 (single char) – 角色变量,指定碰撞中涉及的第二种actor。
    • Return: string
  • show_recorder_file_info(self, filename, show_all=False)
    记录器保存的信息将被解析并以文本(帧,时间,事件,状态,位置…)显示在终端中。可以使用show_all参数指定显示的信息。这是有关如何读取记录器文件的更多信息。
    • Parameters:
      • filename (str) – 记录文件的名称或绝对路径,取决于您先前的选择。
      • show_all (bool) – 设置为true时,将显示每帧的所有详细信息(交通灯状态,所有演员的位置,方向和动画数据…),但默认情况下仅显示摘要。
    • Return: string
  • start_recorder(self, filename)
    启用记录功能,它将开始保存服务器重播模拟所需的所有信息。
    • Parameters:
      • filename (str) – 写入记录数据的文件名。一个简单的名称会将记录保存在“ CarlaUE4 / Saved / recording.log”中。否则,如果名称中出现某些文件夹,则将其视为绝对路径。
  • stop_recorder(self)
    停止正在进行的录制。如果您在文件名中指定了路径,则记录将在那里。如果没有,请查看CarlaUE4 / Saved /。
  • get_available_maps(self)
    返回包含服务器上可用映射路径的字符串列表。这些路径是动态的,它们将在仿真过程中创建,因此您在文件中查找时将找不到它们。该方法可能的返回值之一是: [’/Game/Carla/Maps/Town01’, ‘/Game/Carla/Maps/Town02’, ‘/Game/Carla/Maps/Town03’, ‘/Game/Carla/Maps/Town04’, ‘/Game/Carla/Maps/Town05’, ‘/Game/Carla/Maps/Town06’, ‘/Game/Carla/Maps/Town07’].
    • Return: list(str)
  • get_client_version(self)
    通过在“ Version.h”文件中进行查询来返回客户端libcarla版本。客户端和服务器都可以使用不同的libcarla版本,但是有关意外的不兼容性可能会出现一些问题
    • Return: str
  • get_server_version(self)
    通过在“ Version.h”文件中进行查询来返回服务器libcarla版本。客户端和服务器都应使用相同的libcarla版本。
    • Return: str
  • get_trafficmanager(self, client_connection=8000)
    返回与指定端口相关的流量管理器的实例。如果不存在,将创建一个。
    • Parameters:
      • client_connection (int) – 流量管理器将使用的端口。默认值为8000。
    • Return: carla.TrafficManager
  • get_world(self)
    返回当前在模拟中处于活动状态的世界对象。稍后将使用此世界来加载地图。
    • Return: carla.World
  • lset_replayer_time_factor(self, time_factor=1.0)
    使用时,可以任意修改重新制定的仿真的时间速度。当播放处于诅咒状态时,可以多次使用它。
    • Parameters:
      • time_factor (float) – 1.0表示正常时间速度。大于1.0表示快动作(2.0将是双速),而小于1.0表示慢动作(0.5将是半速)。
  • set_timeout(self, seconds)
    以秒为单位设置允许网络呼叫在阻止网络呼叫并引发超时超出错误之前的最长时间。
    • Parameters:
      seconds (float) – 以秒为单位的新超时值。默认值为5秒。

carla.CollisionEvent

Inherited from carla.SensorData
定义sensor.other.collision的碰撞数据的类。传感器针对检测到的每个碰撞创建一个这样的碰撞,对于一个模拟步骤可能会很多。在此处了解更多信息。

Instance Variables

  • actor (carla.Actor)
    传感器所连接的actor,即测量碰撞的actor。
  • other_actor (carla.Actor)
    第二个参与了碰撞的actor。
  • normal_impulse (carla.Vector3D)
    碰撞产生的正常脉冲。

carla.Color

定义32位RGBA颜色的类。

Instance Variables

  • r (int)
    Red color (0-255).
  • g (int)
    Green color (0-255).
  • b (int)
    Blue color (0-255).
  • a (int)
    Alpha通道 (0-255).

Methods

  • __init__(self, r=0, g=0, b=0, a=255)
    初始化颜色,默认为黑色。
    • Parameters:
      • r (int)
      • g (int)
      • b (int)
      • a (int)

Dunder methods

  • __eq__(self, other=carla.Color)
  • __ne__(self, other=carla.Color)
  • __str__(self)

carla.ColorConverter

定义可以应用于carla.Image的转换模式的类,以显示carla.Sensor提供的信息。深度转换会导致精度降低,因为传感器将深度检测为浮点,然后将其转换为0到255之间的灰度值。请看一下此教程,以获取有关如何为sensor.camera.semantic_segmentation.创建和保存图像数据的示例。

Instance Variables

  • CityScapesPalette
    使用蓝图库提供的标签将图像转换为分段地图。由sensor.camera.semantic_segmentation使用。
  • Depth
    将图像转换为线性深度图。由sensor.camera.depth使用。
  • LogarithmicDepth
    使用对数刻度将图像转换为深度图,从而在较小的距离上获得更好的精度,但代价是在距离较远时丢失图像。
  • Raw
    没有更改应用到图像。

carla.DebugHelper

carla.World的帮助器类部分,定义用于创建调试形状的方法。默认情况下,形状持续一秒钟。它们可以是永久性的,但要考虑到这样做所需的资源。查看此教程,用户可以在其中拍摄世界快照,然后继续绘制交通信号灯的边界框。

Methods

  • draw_arrow(self, begin, end, thickness=0.1f, arrow_size=0.1f, color=(255,0,0), life_time=-1.0f)
    从开始到结束绘制一个指向该方向的箭头。
    • Parameters:
      • begin (carla.Location) – 坐标系中箭头开始的点。
      • end (carla.Location) – 坐标系中箭头结束的点和指向。
      • thickness (float) – 线的密度。
      • arrow_size (float) – 箭头尖端的大小。
      • color (carla.Color) – RGB代码为对象着色。默认为红色。
      • life_time (float) – 形状的寿命(以秒为单位)。默认情况下,它只持续一帧。对于永久形状,将其设置为0。
  • draw_box(self, box, rotation, thickness=0.1f, color=(255,0,0), life_time=-1.0f)
    画一个盒子,通常用来充当对象对撞机。
    • Parameters:
      • box (carla.BoundingBox) – 包含每个轴的位置和框的长度的对象。
      • rotation (carla.Rotation) – 根据虚幻引擎的轴系统确定盒子的方向。
      • thickness (float) – 定义框的线的密度。
      • color (carla.Color) – RGB代码为对象着色。默认为红色。
      • life_time (float) – 形状的寿命(以秒为单位)。默认情况下,它只持续一帧。对于永久形状,将其设置为0。
  • draw_line(self, begin, end, thickness=0.1f, color=(255,0,0), life_time=-1.0f)
    在开始和结束之间画一条线。
    • Parameters:
      • begin (carla.Location) – 指向坐标系直线开始。
      • end (carla.Location) – 指向坐标系中直线末端。
      • thickness (float) – 线的密度。
      • color (carla.Color) – RGB代码为对象着色。默认为红色。
      • life_time (float) – 形状的寿命(以秒为单位)。默认情况下,它只持续一帧。对于永久形状,将其设置为0。
  • draw_point(self, location, size=0.1f, color=(255,0,0), life_time=-1.0f)
    绘制点位置
    • Parameters:
      • location (carla.Location) – 定位坐标系中对象中心点。
      • size (float) – 点的密度。
      • color (carla.Color) – RGB代码为对象着色。默认为红色。
      • life_time (float) – 形状的寿命(以秒为单位)。默认情况下,它只持续一帧。对于永久形状,将其设置为0。
  • draw_string(self, location, text, draw_shadow=False, color=(255,0,0), life_time=-1.0f)
    在模拟的给定位置绘制一个字符串,该字符串只能在服务器端看到。
    • Parameters:
      • location (carla.Location) – 模拟器中文本居中的位置
      • text (str) – 拟在世界范围内显示的文字。
      • draw_shadow (bool) – 为可能有助于可视化的字符串投射阴影。默认情况下禁用。
      • color (carla.Color) – RGB代码为字符串着色。默认为红色。
      • life_time (float)
  • 3
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值