摘要

在本节中,您将找到所有特定于《桌面模拟器》的Lua脚本的事件/类/函数的详细信息。关于Lua脚本语言如何工作以及它自己能做什么,您可以查看Lua官方文档。

使用API文档

左栏

这是在《桌面模拟器》中用Lua编写脚本时所需的类和其他信息的顶级列表。事件(Event), 根基(Base)和对象(Object)是你使用最多的三个页面,其余的都是你可以访问的小众信息。熟悉这三页的内容有助于从高层次上理解脚本编写能够做什么。

右栏

目录将展示你所在页面的内容。它总是首先从高级摘要信息开始,如果需要,则从底部开始详细信息。!符号后的总结元素将直接将您带到下面的相关详细解释。


完善文档

这个文档主要是用Markdown编写的,可以在Github上找到。

如果你遇到了一个错误,而这是你自己能够修复的,那么欢迎拉取请求。但是,如果您已经发现了一个问题,但不知道如何解决它,请通过打开一个问题让我们知道。


TTS术语

对象 Object

当前存在于场景中的游戏物理对象。如果一个对象被放置在包/牌组/等中,它将不再存在,直到它被拉出。

玩家 Player

一个人在游戏。每个玩家被分配一个颜色,观众是“灰色”。如果你想要识别一个玩家,你可以使用他们所处位置的颜色。

全局脚本 Global Scripts

每个游戏/保存都有一个全局脚本,它不附加到任何特定的对象。

只有一个全局脚本,并且它总是存在的。

对象脚本 Object Scripts

每个游戏中的对象也可能有一个脚本附加到它。

默认情况下,新创建的对象没有附加脚本。但是,你可以从对象(Object)的上下文菜单中选择create/edit 该对象的脚本(通常通过右键单击对象打开)。

GUID

在《桌面模拟器》中,GUID是一个唯一的6个字符的字符串,可以用来识别游戏中的对象。当场景中存在对象时,该对象会自动分配到一个GUID。

如果一个对象被复制,在引擎给新的对象分配一个新的GUID之前,它有时会有1帧相同的GUID。容器中的对象(包/牌组/等)不会通过这种方式自动获得新的GUID。只有当他们的东西被移到现场时才会。


弃用的API

在本文档中,您可能会遇到Lua API,它们被标记为 deprecated 。建议您不要再使用已弃用的API。通常,这是因为引入了更新或改进的API,它们可以更好地服务于相同的目的。

弃用的API不会被移除或停止工作。

现有的Mod可以继续使用被弃用的功能。无论如何,强烈建议为了获得最佳体验,在新代码中避免使用已弃用的API。


数据类型

类型(Types)是指所使用的信息的类型。您不需要在Lua中声明类型,但是在这个API中您将看到它们的指示。这只是为了让您知道在给定的变量/参数中需要什么样的信息。这个API利用以下类型。

通用标准

标签 Type Description Example
nil nil 空值 nil
int int 整性数 5
float float 浮点数 2.032
bool bool 布尔值 true
string string 字符串 "Hello."
table table 表,一种键值对集合 {["key"]="value", true, 5}
vector vector 矢量,向量
color color 颜色
function function 函数
object object 对象 Global or self
player player 游戏中的玩家 Player["White"]
variable variable 其他类型的组合。

更多信息见下文。

有关类型的更多信息,可以阅读下面的内容或参考相关的Lua文档。


特殊标准

有些类型需要以特定的方式使用。对于Vector和Color,它们是在《桌游模拟器》中经常使用的表格Table。它们表示颜色和矢量,它们的内容必须以某种方式进行格式化才能正确使用。

对于函数,当运行中的脚本有特定的要求时需要延迟时,就会使用函数。

颜色 Color

Color是Table的一种类型,用于定义着色的RGB值。

您可以使用Color类来操作颜色。

表中包含r,g,b,a和/或1,2,3,4 。字母键和数字键相互重复,每个键代表一种颜色或透明度。

颜色 Color 字母键 数字键
红色 red r 1
绿色 green g 2
蓝色 blue b 3
透明度 alpha a 4

例如,一个带有白色色调的Object会返回这个表:

{r=1, g=1, b=1,1=1, 2=1, 3=1,
}

注意,它不包含a或4键。这是因为目前只有脚本按钮和脚本输入使用alpha通道(透明度)。

混合键

只需要一种类型的键,数字或字母。如果两种都出现在Table中,则忽略数字键,只使用字母键。

--红色
{r=1, g=0, b=0}
--蓝色
{0, 0, 1}
--这个表表示红色
{r=1, g=0, b=0, 0, 0, 1}

每个键的值在0到1之间。如果您使用的是0-255的RGB颜色,您可以使用简单的数学转换为适当的值。

--显示一种颜色 r=50, b=83, g=199
self.setColorTint({50/255, 83/255, 199/255})

字符串

你也可以用一个字符串来代替颜色表。使用玩家颜色将自动填充该值。它适用于12种颜色名称中的任何一种,因为它们写在玩家颜色页面上。

例如:

printToAll("Test", "Green")

向量 Vector

Vector是一种带有x、y和z坐标的对象类型,用于定义位置、旋转或方向。

您可以使用Vector类来操作向量。

例如:

target = Vector(1, 0, 0) + Vector(0, 2, 0):normalized()

表将包含键x, y, z和/或1,2,3。字母键和数字键相同。

字母键 数字键
x 1
y 2
z 3

例如,在坐标X=5, Y=2, Z=-1处的一个对象将返回这个向量:

{x=5, y=2, z=-1,
}

混合键

在引入Vector之前,坐标表包含1、2、3和x、y、z键下的单独值,字母键不同时优先。现在情况不再是这样了,使用字母和数字键是等价的。然而,当迭代Vector组件时,您必须使用pairs,并且只读取字母键。

值范围

值的范围取决于您使用的Vector类型。

类型 描述 范围
Position 空间中的点 世界范围内的任何数字。
Rotation 角,单位度 ° -180 to 180.
Direction 向量的方向。 -1 to 1.

类型细节

Position

X是右/左,Y是上/下,Z是前/后。位置向量可以是世界向量,也可以是局部向量。TTS中大多数的函数使用世界位置向量。

类型 描述
世界 World 实例的中心是{x=0, y=0, z=0}。那通常是靠近桌面的中心。
局部 Local 对象模型的中心是{x=0, y=0, z=0}。对象的中心是由模型的创建者决定的。

世界与局部坐标的转换

positionToWorld(...) 和 positionToLocal(...) 被用来转换两种坐标

Rotation

X是俯仰(点头),Y是偏航(摇头),Z是滚转(头部倾斜)。

Direction

X是右/左,Y是上/下,Z是前/后。


函数 Function

函数(Function)是一段可以在触发时运行的代码。在Lua中,您可以传递(作为参数使用)函数。TTS中的一些元素可以通过传递函数来执行某些操作,比如在延迟后触发它。

用法

要传递一个函数,首先必须创建这个函数。有多种方法可以做到这一点:

--动态创建它
function() print("Like This") end--用变量名创建它
anyFuncName = function() print("Like This") end--用变量名创建它,该变量名还可以传递参数
function anyFuncName(printString)print(printString)
end

你需要传递一个函数,而不是一个函数的结果。所以这是行不通的:

Wait.frames(print("Ding"), 80)

相反,让打印函数运行的结果:

Wait.frames(function() print("Ding") end, 80)

示例

例如,这里的Wait.frames(…)被使用了3次。它等待一组帧,然后激活一个给定的函数:

function onLoad()--带有参数的内置函数可以直接调用--这是通过将函数封装在' function() '和' end '中来实现的。Wait.frames(function() print("One") end, 60)--你还可以调用你自己创建的自定义函数--向它们传递你希望的任何参数Wait.frames(function() sayTwo("Two") end, 120)--如果你没有传递任何参数给函数,你可以缩短它Wait.frames(sayThree, 180)
end--它的参数传递给它了吗
function sayTwo(s) print(s) end--没有任何参数传递给它
function sayThree() print("Three") end

事件

游戏通常需要执行代码以响应游戏中发生的某些行动、互动或变化,统称为事件。

事件处理程序

事件处理程序是您定义并由TTS调用的函数。

可以定义许多事件处理程序。每一个都为您提供了处理特定事件发生的机会。

当TTS调用你的函数,它将提供事件特定的细节作为你的事件处理函数的参数。

为了让TTS发现事件处理程序,必须将其定义为具有特定名称的全局变量。您使用的名称取决于您希望处理的事件。下面将介绍特定于事件的细节。

而事件处理程序名称只对应于一种类型的事件。每个事件可能有多个对应的事件处理程序(即事件处理程序名称),TTS将查找和执行。

事件处理程序有三种类型:

  • 通用事件处理程序
  • 全局事件处理程序
  • 对象事件处理程序

通用事件处理程序

通用事件处理程序可以在全局脚本和/或对象脚本中定义。

全局事件处理程序

全局事件处理程序只能在全局脚本中定义。

如果在对象脚本中使用全局事件处理程序的名称定义函数。它不会被调用。

对象事件处理程序

对象事件处理程序只能在对象脚本中定义。

如果您在全局脚本中使用对象事件处理程序的名称定义函数。它不会被调用。

事件处理程序执行

通常,如果一个事件有多个事件处理程序,例如在对象脚本、全局脚本和/或多个对象脚本中,那么所有这些事件处理程序都将被执行。

一些事件处理程序允许您返回一个值来触发可选的副作用。例如,从"try"事件处理程序返回false将阻止正在尝试的任何操作。如果返回触发可选副作用的值,则将不会执行后续事件处理程序(针对同一事件发生)。

事件汇总

通用事件处理程序

如上所述,您可以在全局脚本或对象脚本中声明这些函数。

函数名称 描述
onBlindfold(player player,  bool blindfolded) 当玩家带上或摘下他们的眼罩时调用。
onChat(string message,  player sender) 当用户发送游戏内聊天消息时调用。
onExternalMessage(table data) 当通过外部编辑器API从外部进程接收到自定义消息时调用。
onFixedUpdate() 每一次物理周期调用(每秒90次)。这是一个与帧无关的onUpdate()函数。
onLoad(string script_state) 当保存已经完全完成加载时调用。
onObjectCollisionEnter(object registered_object, table collision_info) 当一个对象开始与注册碰撞事件的对象发生碰撞时调用。
onObjectCollisionExit(object registered_object, table collision_info) 当一个对象与注册碰撞事件的对象停止碰撞时调用。
onObjectCollisionStay(object registered_object, table collision_info) 一个对象与注册碰撞事件的对象碰撞的每一帧都会调用。
onObjectDestroy(object object) 当一个对象即将被销毁时调用。
onObjectDrop(string player_color, object object) 当一个对象被玩家丢弃时调用。
onObjectEnterContainer(object container, object object)

对象进入容器时调用。包括牌组

onObjectEnterScriptingZone(object zone, object object)

deprecated 请使用onObjectEnterZone(…)。

当对象进入脚本区域时调用。

onObjectEnterZone(object zone, object object) 当对象进入一个区域时调用。
onObjectFlick(object object, string player_color, vector impulse) 当玩家轻弹一个对象时调用。
onObjectHover(string player_color, object object) 当对象被玩家的指针(光标)悬停时调用。
onObjectLeaveContainer(object container, object object) 当对象离开容器时调用。
onObjectLeaveScriptingZone(object zone, object object)

deprecated 请使用onObjectLeaveZone(…)。

当对象离开脚本区时调用。

onObjectLeaveZone(object zone, object object) 当对象离开某个区域时调用。
onObjectLoopingEffect(object object, int index) 每当激活AssetBundle的循环效果时调用。
onObjectNumberTyped(object object, string player_color, int number) 当玩家在一个物体上悬停时键入一个数字时调用。
onObjectPageChange(object object) 当自定义PDF对象更改页面时调用。
onObjectPeek(object object, string player_color) 当玩家窥视一个对象时调用。
onObjectPickUp(string player_color, object object) 当一个玩家拿起一个对象时调用。
onObjectRandomize(object object, string player_color) 当对象被随机化时调用。就像洗牌或摇骰子。
onObjectRotate(object object, float spin, float flip, string player_color, float old_spin, float old_flip) 当玩家旋转一个对象时调用。
onObjectSearchEnd(object object, string player_color) 在容器上完成搜索时调用。
onObjectSearchStart(object object, string player_color) 在容器上开始搜索时调用。
onObjectSpawn(object object) 当派生/创建对象时调用。
onObjectStateChange(object object, string old_state_guid) 对象改变状态后调用。
onObjectTriggerEffect(object object,int  index) 当AssetBundle的触发效果被激活时调用。
onPlayerAction(player player, Action action, table targets) 当玩家试图执行一个动作时调用。
onPlayerChangeColor(string player_color) 当玩家改变颜色或第一次选择时调用。如果他们断开连接,它就返回“Grey”。
onPlayerChangeTeam(string player_color, string team) 当玩家更换队伍时调用
onPlayerConnect(player player) 当玩家连接到游戏时调用。
onPlayerDisconnect(player player) 当玩家从游戏断开连接时调用。
onPlayerPing(player player, vector position) 当玩家ping一个位置时调用。
onPlayerTurn(player player, player previous_player) 在玩家回合开始时调用。
onSave() 当脚本需要保存其状态时调用。
onScriptingButtonDown(int index, string player_color)

当按下脚本按钮(默认为整个小键盘的任意键)时调用。返回的索引范围为1 ~ 10。

onScriptingButtonUp(int index, string player_color) 当一个脚本按钮(默认为整个小键盘的任意键)被释放时调用。返回的索引范围为1 ~ 10。
onUpdate() 每一帧。

全局事件处理程序

如上所述,您可以在Global脚本中声明这些函数。

函数名 描述
filterObjectEnterContainer(object container, object object)

deprecated 请使用tryObjectEnterContainer(…)。

当对象试图进入容器时调用。

onZoneGroupSort(object zone, table group, bool reversed) 当需要对一组由布局区域进行布局的对象进行排序时调用。
tryObjectEnterContainer(object container, object object) 当对象试图进入容器时调用。
tryObjectRandomize(object object, string player_color) 当玩家尝试随机化一个对象时调用。
tryObjectRotate(object object, float spin, float flip, string player_color, float old_spin, float old_flip) 当玩家试图旋转一个物体时调用。

对象事件处理程序

如上所述,你可以在对象脚本中声明这些函数。

这些事件属于脚本所有者-对象(在脚本中可用self访问)。

它们不能在全局脚本中声明这些事件处理程序。

函数名 描述
filterObjectEnter(object object)

deprecated 请使用tryObjectEnter(…)。

当对象试图输入脚本所有者object(容器)时调用。

onCollisionEnter(table collision_info) 当一个对象开始与脚本所有者对象发生碰撞时调用。
onCollisionExit(table collision_info) 当一个对象停止与脚本所有者对象发生碰撞时调用。
onCollisionStay(table collision_info) 一个对象与脚本所有者对象发生碰撞的每帧调用。
onDestroy() 当玩家删除脚本所有者对象时调用。
onDrop(string player_color) 当玩家使脚本所有者对象掉下时调用。
onFlick(string player_color, vector impulse) 当玩家轻弹脚本所有者对象时调用。
onGroupSort(table group, bool reversed) 当需要对一组由脚本所有者布局区域布局的对象进行排序时调用。
onHover(string player_color) 当玩家将指针(光标)移到脚本所有者对象上时调用。
onNumberTyped(string player_color, int number) 当玩家将鼠标悬停在脚本所有者对象上时输入数字时调用。
onPageChange() 当脚本所有者自定义PDF的页面被更改时调用。
onPeek(string player_color) 当玩家窥视脚本所有者对象时调用。
onPickUp(string player_color) 当玩家拿起脚本所有者对象时调用。
onRandomize(string player_color) 当脚本所有者对象被随机化时调用。就像洗牌或摇骰子。
onRotate(float spin, float flip, string player_color, float old_spin, float old_flip) 当玩家旋转脚本所有者对象时调用。
onSearchEnd(string player_color) 当玩家搜索完脚本所有者对象时调用。
onSearchStart(string player_color) 当玩家开始搜索脚本所有者对象时调用。
onStateChange(string old_state_guid) 当因对象状态更改而生成脚本所有者对象时调用。
tryObjectEnter(object object) 当另一个对象试图进入脚本所有者对象(容器)时调用。
tryRandomize(string player_color) 当玩家试图随机化脚本所有者对象时调用。
tryRotate(float spin, float flip, string player_color, float old_spin, float old_flip) 当玩家试图旋转脚本所有者对象时调用。

细节略


基础

这些是一个松散的函数集合,可用于在TTS中执行各种操作。

这些功能可以利用游戏内的对象,但它们都不能在游戏内的对象上执行。它们都与游戏空间有关。

函数汇总

全局函数

在任何脚本中工作的通用函数。

函数名 描述 返回类型
addContextMenuItem(string label, func toRunFunc, bool keep_open, bool require_table) 将菜单项添加到全局右键单击上下文菜单中。全局菜单显示时,玩家右键单击空白空间或表。 bool
clearContextMenu() 清除所有功能addContextMenuItem(…)添加的菜单项。 bool
copy(table object_list) 复制对象列表到剪贴板。适用于paste(…)一起用。 bool
destroyObject(object obj) 销毁一个对象。 bool
flipTable() 掀桌子。 bool
getAllObjects()

deprecated 请使用getobject()。

返回包含游戏中除手牌区以外的所有物体的表格。

table
getObjectFromGUID(string guid) 返回对象的GUID。如果这个GUID当前不存在,将返回nil。 object
getObjects() 返回包含游戏中所有对象的表格。 table
getObjectsWithTag(string tag) 返回包含带有指定标签的所有对象的表。 table
getObjectsWithAnyTags(table tags) 返回包含至少一个指定标签的所有对象的表。 table
getObjectsWithAllTags(table tags) 返回包含所有指定标签的所有对象的表。 table
getSeatedPlayers() 返回包含所有座位上的玩家的颜色字符串表。 table
group(table objects) 将对象组合在一起,就像G键对玩家的作用一样。 table
paste(table parameters) 粘贴游戏中复制到剪贴板的对象。与copy(…)一起用。 table
setLookingForPlayers(bool lfp) 启用/禁用查找组。这在服务器浏览器中是可见的,表明你是否在为游戏征募玩家。 bool
spawnObject(table parameters) 生成一个对象。 object
spawnObjectData(table parameters) 从数据表生成一个对象。 object
spawnObjectJSON(table parameters) 从JSON字符串生成一个对象。 object
startLuaCoroutine(object function_owner,string  function_name) 启动一个协同程序。 bool
stringColorToRGB(string player_color) 将玩家颜色字符串转换为颜色表进行着色。 color

热键函数

函数名 描述 返回类型
addHotkey(string label, func toRunFunc, bool trigger_on_key_up) 在游戏中添加一个可绑定的热键。 bool
clearHotkeys() 清除所有以前通过addHotkey(…)添加的热键。 bool
showHotkeyConfig() 显示热键配置窗口下的选项->游戏键。 bool

消息函数

处理发送和显示数据的函数。

函数名 描述 返回类型
broadcastToAll(string message, color message_tint) 打印屏幕上的信息给所有玩家,以及他们的游戏内聊天。 bool
broadcastToColor(string message, string player_color,  message_tint) 打印屏幕上的信息给指定的玩家,以及他们在游戏中的聊天。 bool
log(var value, string label, string tags) 将消息记录到主机的系统控制台。(快捷键:~) bool
logString(var value, string label, string tags, bool concise, bool displayTag) 返回一个类似于log(…)输出的格式化字符串。 string
logStyle(string tag, color tint, string prefix, string postfix) 为日志的指定标记类型设置样式选项。 bool
print(string message) 打印一个只有房主才能看到的聊天字符串。用于调试脚本。 nil
printToAll(string message, color message_tint) 打印信息到所有连接的玩家的聊天。 bool
printToColor(string message, string player_color, color message_tint) 打印信息到特定颜色的玩家。 bool
sendExternalMessage(table data)

向外部脚本编辑器(最可能是Atom)发送一个表。这是为自定义编辑器功能。

bool

细节


对象

对象类表示桌面模拟器中的任何实体。一旦你在你的脚本中有了一个对象的引用,你就可以直接在它上面调用函数。例如:obj.getPosition(…)。你可以通过多种方式获取一个对象的引用;

  • 如果你的脚本在一个对象上并引用那个对象,使用self属性。
  • 使用getObjectFromGUID(…)对象的GUID(通过鼠标右键点击它找到)。
  • 获取它作为另一个函数的返回值,就像使用spawnObject(…)。

成员变量

公共变量

这些变量对所有对象都是通用的。有些变量是只读的,这意味着您可以查询属性,但不能为其赋新值。

通过将true赋值给locked来锁定/冻结对象。

object.locked = true

打印对象是否是locked。

if object.locked thenprint("Object is locked")
elseprint("Object is not locked")
end
变量 描述类型 Type
alt_view_angle 当非零时,Alt视图将使用指定的欧拉角度来查看对象。 vector
angular_drag 角阻力。 Unity刚体(Rigidbody)特性。 float
auto_raise 在玩家手持该物体时,该物体应放在其他物体上方以避免碰撞。 bool
bounciness 弹力,值为0~1。 Unity物理材质。 float
drag 阻力。 Unity刚体(Rigidbody)特性。 float
drag_selectable

当为false时,对象将不会被绘制在对象周围的常规(单击和拖动)选择框选中。

玩家可以在拖动选择的同时按住“Shift”修改器来覆盖这一行为。

bool
dynamic_friction 动摩擦力, 值为 0~。Unity物理材质。 float
grid_projection 如果已打开可见网格,则网格线可以显示在对象上。 bool
guid 桌面模拟器中的6个字符唯一的对象标识符。一旦生成成员变量变为false,它就被正确地赋值 string
held_by_color 持有该物体的玩家的颜色。 string
held_flip_index 值为0~23。当玩家点击翻转或alt +旋转时改变。 int
held_position_offset 距离指针的位置偏移量。 vector
held_reduce_force 当物体在移动时与物体碰撞时,这将自动启用并减少移动力。 bool
held_rotation_offset 从指针旋转偏移量。 vector
held_spin_index 值为0~23。当玩家旋转物体时改变。 int
hide_when_face_down 隐藏面朝下的对象,就像它在手区域一样。面是对象的“顶部”,它的正Y坐标的方向。卡牌/牌组默认为true。 bool
ignore_fog_of_war 使对象不被战争迷雾隐藏。 bool
interactable 如果对象可以与玩家互动。其他对象仍然能够与它交互。 bool
is_face_down 如果对象大致面朝下(就像纸牌)。面是对象的“顶部”,它的正Y坐标的方向。只读。 bool
loading_custom 如果对象的自定义元素(图像/模型/等)正在加载。只读。 bool
locked 对象被冻结在原地(防止物理交互)。 bool
mass 质量。 Unity刚体(Rigidbody)特性。 float
max_typed_number

确定用户悬停在对象上时可输入的最大数字数。

一旦玩家输入了最大数字数,相应的行为(如onObjectNumberTyped/onNumberTyped)就会立即触发,提高响应性。

int
measure_movement

当移动物体时,测量工具将自动被使用。

bool
memo 一个字符串,您可以在其中保存与对象关联的用户数据。桌面模拟器保存此字段,但不使用它。存储任何你认为合适的信息。 string
name 此对象的内部资源名称。只读,并且只对spawnObjectData()有用。通常,您需要getName()。 string
pick_up_position 物体被拾取的坐标位置。只读。 vector
pick_up_rotation

物体被拾取的旋转位置。只读。

vector
remainder

如果这个对象是一个容器,它不能存在少于两个包含对象(例如,一个牌组),取出最后一个包含对象将导致容器被销毁。在它的位置上,容器中最后一个剩余的对象将被生成。

这个变量在派生时提供对剩余对象的引用。否则,它是零。只读。

object
resting 对象处于静止状态。 Unity刚体(Rigidbody)特性。 bool
script_code 对象上的Lua脚本。 string
script_state 对象上保存的数据。见onSave()。 string
spawning

对象完成生成。只读。

bool
static_friction 静摩擦力,值为0~1. Unity物理材质。 float
sticky 如果这个对象被选中,那么这个对象上的其他对象也被选中。 bool
tag

已弃用。请使用 type。

这个对象的类型。只读。

string
tooltip 当指针悬停在对象上时,工具提示打开。工具提示显示名称和描述。 bool
type 这个对象的类型。只读的。 string
use_gravity 重力是否影响这个物体。 bool
use_grid 是否启用捕捉到网格。 bool
use_hands 这个物体是否可以被握在手的区域。 bool
use_rotation_value_flip

物体翻转时是否切换旋转的轴。

bool
use_snap_points 使用或忽略接合点。 bool
value

与该对象相关联的数值,当鼠标悬停在该对象上时,将显示该数值。

在堆栈的情况下,UI中显示的值将乘以堆栈大小,也就是说,你可以使用值来创建自定义堆叠芯片。

当选择多个对象时,值将与共享重叠对象标记的对象一起求和。

int
value_flags

已弃用。请使用 object tags

一个位域。当具有重叠value_flags的对象被选中并悬停在其上时,它们的值将被求和。

int

行为变量

一些对象提供额外的行为。该功能可以作为Object成员变量访问,但将为nil,除非Object包含该行为。

“Counter”对象有一个Counter成员变量。我们将使用它来递增和检索计数器的值。

object.Counter.increment()
print("The counter value is now " .. object.Counter.getValue())
变量 类型 有效对象
AssetBundle AssetBundle 自定义“AssetBundle”对象。
Book Book "Custom PDF" 对象。
Browser Browser "Tablet" 对象。
Clock Clock "Digital Clock" 对象。
Counter Counter "Counter" 对象。
LayoutZone LayoutZone 布局区域。
RPGFigurine RPGFigurine "RPG Kit" 动画雕像对象,即类型"rpgFigurine".
TextTool TextTool 3D Text 对象,例如使用游戏内文本工具创建的文本。

函数汇总

变换函数

这些函数处理对象的物理属性:位置、旋转、缩放、边界、速度。换句话说,移动物体以及获取物体如何移动的信息。

函数名 描述 返回类型
addForce(vector vector, int force_type) 在方向向量中向对象添加力。 bool
addTorque(vector vector, int force_type) 在旋转向量中为物体增加扭矩。 bool
getAngularVelocity() 返回当前角速度的向量。 vector
getBounds() 返回一个以全局术语描述对象大小的Vector。 vector
getBoundsNormalized() 返回一个以全局术语描述对象大小的Vector,就像它被旋转到{0,0,0}一样。 vector
getPosition() 返回当前世界位置的Vector。 vector
getPositionSmooth() 如果对象是平滑移动的,返回当前平滑移动目标的向量,否则返回nil。 vector
getRotation() 返回当前旋转的向量。 vector
getRotationSmooth() 如果对象是平滑移动的,返回当前平滑旋转目标的向量,否则返回nil。 vector
getScale() 返回当前比例尺的向量。 vector
getTransformForward() 返回该对象的正向向量。 vector
getTransformRight() 返回该对象的向右向量。 vector
getTransformUp() 返回该对象的向上向量。 vector
getVelocity() 返回当前速度的向量。 vector
isSmoothMoving() 指示一个物体是否作为平滑移动的一部分移动。平滑移动由setPositionSmooth和setRotationSmooth执行。 bool
positionToLocal(vector vector) 在将世界向量(世界位置)转换为局部向量(局部位置)后返回一个向量。 vector
positionToWorld(vector vector) 在将局部向量(局部位置)转换为世界向量(世界位置)后返回一个向量。 vector
rotate(vector vector) 在给定向量的方向上平滑地旋转对象。 bool
scale(vector vector or float) 将对象缩放倍数。 bool
setAngularVelocity(vector vector) 设置一个向量为当前的角速度。 bool
setPosition(vector vector) 立即移动一个对象到给定的世界位置。 bool
setPositionSmooth(vector vector, bool collide, bool fast) 将对象平滑移动到给定的世界位置。 bool
setRotation(vector vector) 立即旋转一个对象到给定的向量。 bool
setRotationSmooth(vector vector, bool collide, bool fast) 将对象平滑地旋转到给定的向量。 bool
setScale(vector vector) 设置一个向量为当前比例。 bool
setVelocity(vector vector) 设置一个向量作为当前的速度。 bool
translate(vector vector) 通过给定的向量偏移量平滑移动对象。

标签函数

这些函数处理与对象相关联的标记。单个标签是一组字符串,不区分大小写。

函数名 描述 返回类型
addTag(string tag) 将指定的标记添加到对象。 bool
getTags() 返回已添加到对象的标签(string)表。 table
hasAnyTag() 返回对象是否有标签。 bool
hasMatchingTag(table other) 返回该对象和指定的其他对象是否共享至少一个共同标签。 bool
hasTag(string tag) 返回对象是否具有指定的标签。 bool
removeTag(string tag) 从对象中移除指定的标签。 bool
setTags(table tags) 将对象上的所有标签替换为指定表(包含string)中包含的标签。

如果你想创建自己的系统,其中对象标签控制交互,规范的逻辑是,如果系统没有标签,它与所有东西交互,但如果它有任何标签,那么它只与共享其中一个的对象交互。例如(假设系统是由游戏内的对象所代表):

allow_interaction = not system.hasAnyTag() or system.hasMatchingTag(object)

UI函数

一个新的UI系统被添加到桌面模拟器,它允许在对象上创建更灵活的UI元素。旧系统(经典UI)和新系统(自定义UI)都可以工作,而且各自有自己的优势。

经典UI

这些函数允许创建/编辑/删除功能按钮和文本输入,这些按钮和文本输入本身会触发脚本中的代码。这些按钮/输入附加到创建它们的对象上。

Function Name Description Return
clearButtons() 删除所有脚本按钮。 bool
clearInputs() 删除所有脚本输入。 bool
createButton(table parameters) 创建附加到对象的脚本按钮。 bool
createInput(table parameters) 创建附加到对象的脚本输入。 bool
editButton(table parameters) 修改一个已存在的按钮。 bool
editInput(table parameters) 修改现有输入。 bool
getButtons() 返回包含该对象上所有按钮的表。 table
getInputs() 返回一个表,包含该对象上的所有输入。 table
removeButton(int index) 删除指定的按钮。 bool
removeInput(int index) 删除指定的输入。 bool

自定义UI

自定义UI为您提供了广泛的元素类型,而不仅仅是按钮和输入,以放置到对象上。它是UI类的扩展,关于其使用的详细信息可以在UI页面中找到。

获取函数

这些函数从对象中获取信息。

函数名 描述 返回类型
getAttachments() 返回与容器的getObjects()相同格式的表。 table
getColorTint()

颜色的色调。

color
getCustomObject() 返回一个包含自定义对象的自定义对象信息的表。 table
getData() 返回对象的表数据结构表示形式。适用于spawnObjectData(…)。 table
getDescription() 描述,也显示为对象的工具提示的一部分。 string
getFogOfWarReveal() 影响战争迷雾被揭示的设置 table
getGMNotes() 游戏主持笔记只对黑色玩家可见。 string
getGUID() 对象唯一标识符的字符串。 string
getJSON( indented)

返回对象的JSON字符串表示形式。适用于spawnObjectJSON(…)。

缩进是可选的,默认值为true。

string
getJoints()

返回附加到此对象的任何关节的信息。

table
getLock() 对象是否上锁 bool
getName() 名称,也显示为对象的工具提示的一部分。 string
getObjects() 返回描述区域/袋子/牌组中包含的对象的数据。 var
getQuantity() 返回包含的对象的数量(如果对象是包,牌组或堆),否则为-1。 int
getRotationValue() 返回当前的rotationValue。旋转值用于给不同的旋转赋值(如骰子)。 var
getRotationValues() 返回一个包含旋转值的表。旋转值用于给不同的旋转赋值(如骰子)。 table
getSelectingPlayers() 返回当前选择对象的玩家颜色表。 table
getStateId() 对象的当前状态ID(索引)。如果没有其他状态,则返回-1。状态id(索引)从1开始。 int
getStates()

返回一个关于对象状态的信息表。

table
getValue() 返回对象的值。根据对象的类型,这表示一些不同的东西。 var
getZones() 返回对象当前占用的区域列表。 table
isDestroyed() 如果对象被销毁(或将被销毁),则返回true。 bool

设置函数

这些函数将操作应用于对象。主要是修改对象的一些属性。

函数名 描述 返回类型
setColorTint(color color) 设置颜色色调。 bool
setCustomObject(table parameters) 设置自定义对象的属性。 bool
setDescription(string description) 设置对象的描述。显示在工具提示后延迟。 bool
setFogOfWarReveal(table fog_settings) 建立设置并启用/禁用一个对象的战争迷雾的显示。. bool
setGMNotes(string notes) 设置游戏主笔记只对玩家颜色黑色可见。 bool
setLock(bool lock) 设置对象是否被锁定。 bool
setName(string name) 设置对象的名称。显示在工具提示。 bool
setRotationValue(var rotation_value) 设置对象的旋转值,即物理旋转对象。
setRotationValues(table rotation_values) 设置对象的旋转值。旋转值用于给不同的旋转赋值(如骰子)。 bool
setState(int state_id) 设置对象的状态。状态id(索引)从1开始。 obejct
setValue(var value)

设置对象的值。根据对象的类型,表示一些不同的东西。

bool

动作函数

这些函数对对象执行一般操作。

函数名 描述 返回类型
addAttachment(object object)

作为参数提供的对象被销毁并成为一个虚拟的对象子对象。

bool
addContextMenuItem(string label, bool toRunFunc, bool keep_open) 向对象右键单击上下文菜单添加菜单项。 bool
addToPlayerSelection(string player_color) 添加对象到玩家的选择。 bool
clearContextMenu() 清除所有被addContextMenuItem(…)添加的菜单项。 bool
clone(table parameters) 复制/粘贴这个对象,返回一个对新对象的引用。 object
cut(int count) 在给定的牌数下切(分)一副牌。 table
deal(int number, string player_color, int index) 将从牌组/袋/堆/个人物品中取对象。 bool
dealToColorWithOffset(vector offset, bool flip, string player_color) 从一副牌到一个相对于手区位置取对象。 object
destroyAttachment(int index) 销毁具有给定索引的附件。 bool
destroyAttachments() 销毁所有附件。 bool
destruct() 销毁对象。允许self.destruct()。 bool
drop() 迫使一个物体(如果被玩家持有)被丢弃。 bool
flip() 翻转对象。 bool
highlightOff(color color) 从对象周围移除一个高亮。 bool
highlightOn(color color, float duration) 在对象周围创建一个高亮显示。duration是可选的,以秒为单位指定,当省略时,对象保持高亮显示。 bool
jointTo(object object, table parameters) 将对象连接在一起,方法与连接工具相同。 bool
putObject(object put_object) 将一个物体放入容器(筹码堆/袋子/牌组)。 object
randomize(string color) 洗牌/包,掷骰子/硬币,把其他物体举到空中。与默认按R相同。如果可选参数color被使用,这个函数将触发onObjectRandomized(),传递玩家的颜色。 bool
registerCollisions(bool stay) 为全局碰撞事件注册此对象。 bool
reload() 返回自身重生后的对象引用。 object
removeAttachment(int index) 删除具有给定索引的子节点。使用getAttachments()查找索引属性。 object
removeAttachments() 分离此对象的子对象。返回一个对象引用表 table
removeFromPlayerSelection(string player_color) 从玩家的选择中移除对象。 bool
reset()

重置该对象。重置一副牌会把所有的牌都带回来。重置一个包可以清除它的内容(对Loot和Infinite包都适用)。

bool
roll() 掷硬币/骰子。 bool
shuffle() 洗牌/摇牌袋里的东西。 bool
shuffleStates() 在随机选择并更改为一个状态后,返回一个指向新状态的Object引用。 object
split(int piles) 把一副牌尽可能均匀地分成若干摞。 table
spread(float distance) 在一副牌上使用摊开动作。 table
takeObject(table parameters) 从容器(包/牌组/筹码堆)中取出一个对象,返回对取出对象的引用。 object
unregisterCollisions()

为全局碰撞事件注销此对象。

bool

组件函数

组件api是一种高级特性。理解Unity的工作原理是使用它们的必要条件。有关更多信息,请参阅组件简介。

名称 返回类型 描述
getChild(string name) GameObject 返回一个匹配指定名称的子游戏对象。
getChildren() table 返回子游戏对象列表。
getComponent(string name) Component 从对象的组件列表中返回一个与指定名称匹配的组件
getComponentInChildren(string name) Component 返回一个与指定名称匹配的组件。通过递归搜索对象的组件及其子组件(深度优先)找到。
getComponents(string name) table 返回对象的组件列表。name是可选的,当指定时,只有指定名称的组件将被包括。
getComponentsInChildren(string name) table 返回通过递归搜索对象及其子对象(深度优先)找到的组件列表。name是可选的,当指定时,只有指定名称的组件将被包括。

隐藏函数

这些函数可以隐藏对象,类似于手区域或隐藏区域的作用。

函数名 描述 返回类型
setHiddenFrom(table players)

对指定的玩家隐藏对象,就像它在手牌区一样。

bool
setInvisibleTo(table players) 对指定的玩家隐藏该对象,就像它在一个隐藏区域一样。 bool
attachHider(string id, bool hidden, table players) setHiddenFrom(…)的更高级版本。 bool
attachInvisibleHider(string id, bool hidden, table players) setInvisibleTo(…)的更高级版本。 bool

全局函数

这些函数可以在对象中使用,也可以在游戏世界中使用全局函数。

  • self.getSnapPoints()获得附加到该对象的snap points。
  • getsnappoints()获得的snap points没有附加到任何特定对象上,而是附加到游戏世界上。
函数名 描述 返回类型
addDecal(table parameters) 在物体或游戏世界中添加贴花。 bool
call(string func_name, table func_params) 用于在另一个实体上调用Lua函数。 var
getDecals() 返回附加到该对象或世界的所有贴花的信息。 table
getLuaScript() 从实体获取一个字符串形式的Lua脚本。 string
getSnapPoints() 返回表示接合点列表的表。 table
getTable(string table_name) 另一个对象脚本中一个变量的数据值。只能返回一个表。 table
getVar(string var_name) 另一个实体脚本中一个变量的数据值。不能返回表。 var
getVectorLines() 返回表示此实体上当前向量线的数据表。参见setVectorLines获取表格格式。 table
setDecals(table parameters) 设置对象上的贴花。这可以移除其他已经存在的贴花,并可以移除所有的贴花。 bool
setLuaScript(string script) 输入一个字符串作为实体的Lua脚本。通常只在生成一个新对象后使用。 bool
setSnapPoints(table snap_points) 将现有的接合点替换为指定的接合点列表。 bool
setTable(string func_name, table data) 在另一个实体的脚本中创建/更新一个变量。仅用于表格。 bool
setVar(string func_name, var data) 在另一个实体的脚本中创建/更新一个变量。不能设置桌子。 bool
setVectorLines(table parameters) 从这个实体的参数列表生成向量线。 bool

对象行为

AB包 AssetBundle

AB包的行为出现在自定义AB包创建的对象上。

函数汇总

函数名 描述 返回类型
getLoopingEffectIndex() 当前循环效果的指数。索引从0开始。 int
getLoopingEffects() 返回一个表,其中键“index”和“name”为每个循环效果。 table
getTriggerEffects() 返回一个表,每个触发器的键是“index”和“name”。 table
playLoopingEffect(int index) 开始播放循环效果。索引从0开始。 nil
playTriggerEffect(int index) 开始发挥触发效果。索引从0开始。 nil

书本 Book

自定义PDF对象上显示书本行为。书本行为允许您操作显示的PDF。

成员变量

变量 类型 描述
page_offset int 自定义PDF UI中显示的页码被偏移这个量。

例如,如果page_offset设置为10,那么UI中的第一个页面将是11,而不是1。负数是可以接受的,如果规则手册包含了PDF文件中的封面、索引等,那么负数是很有用的。

函数汇总

函数名 描述 返回类型
clearHighlight() 清除当前的高亮显示。 bool
getPage(bool offsetPageNumbering) 获取PDF的当前页。 int
setHighlight(float x1, float y1, float x2, float y2) 设置当前页上的高亮显示框。 bool
setPage(int page, bool offsetPageNumbering) 设置当前页面。 bool

浏览器 Browser

浏览器行为出现在平板电脑对象上。

指示一个平板对象加载桌面模拟器主页。

object.Browser.url = "https://tabletopsimulator.com"

成员变量

变量 类型 描述
url string 当前想要显示的URL。
pixel_width int 浏览器实际呈现到的像素宽度。

时钟 Clock

时钟行为出现在数字时钟对象上。

时钟模式

  • Current Time: 显示房主的当前时间。
  • Stopwatch: 显示正在进行的计数。
  • Timer: 显示倒计时和一旦完成发出哔哔声。

成员变量

变量 类型 描述
paused bool 如果时钟定时器暂停。

函数汇总

函数名 描述 返回类型
getValue() 当前时间在秒表或定时器模式。时钟模式返回0。这个函数的作用与Object的getValue()相同。 int
pauseStart() 在秒表或计时器模式下暂停/恢复时钟。 bool
setValue(int seconds) 将时钟切换到计时器并设置倒计时时间。这个函数的作用与Object的setValue()相同。 bool
showCurrentTime() 切换时钟显示当前时间。它将清除任何秒表或计时器。 bool
startStopwatch() 将时钟切换为秒表,将时间设置为0。它将重置时间,如果已经在秒表模式。 bool

计数器 Counter

计数器行为出现在计数器对象上。

函数

函数名 描述 返回类型
clear() 重置计数器为0。 bool
decrement() 减少计数器的值1。 bool
getValue() 返回计数器的当前值。这个函数的行为与Object的getValue()相同。 int
increment() 增加计数器的值1。 bool
setValue() 设置计数器的当前值。这个函数的行为与Object的setValue()相同。 bool

增加计数器的值。

object.Counter.increment()

布局区域 LayoutZone

布局区域行为出现在布局区域上。

函数

函数名 描述 返回类型
getOptions()

返回布局区域选项。

table
layout() 导致布局区域(重新)布局。 bool
setOptions(table options) 设置布局区域的选项。如果表中没有包含某个选项,那么该选项的zone值将保持不变。 bool

记录布局区域的选项。

log(zone.LayoutZone.getOptions())

选项

布局区域选项表可能包含以下属性。

名称 类型 描述
allow_swapping bool 当将一个对象从一个完整组移动到另一个完整组时,所放置的对象将被移动到原始组。
alternate_direction bool 添加到组中的对象将向右对齐或向右对齐,这与组中的前一个对象不同。例如,在耍诡计的游戏中,用来使计数更容易。
cards_per_deck int 设置布局区域组合新添加的牌时所生成的牌的大小。
combine_into_decks bool 添加到区域的牌是否应该组合成牌组。你可以指定每副牌的牌数。
direction int 区域中群组扩展的方向。这将决定原点的角。
horizontal_group_padding float 组之间插入的水平空间的大小。
horizontal_spread float 组中每个对象与前一个对象水平移动的距离。
instant_refill bool 启用时,如果某个组被选中或删除,则布局的其余部分将触发填补空白
manual_only bool 该区域不会自动布局对象:它必须手动触发。
max_objects_per_group int 区域中的每个组不能包含超过此数目的对象。
max_objects_per_new_group int 当新对象添加到一个区域时,它们将被聚集到这么多对象的组中。
meld_direction int 组内对象扩展的方向。
meld_reverse_sort bool 启用时,组内的排序顺序颠倒
meld_sort int 组内部是如何分类的。
meld_sort_existing bool 启用时,所有组在布局时都会排序,而不仅仅是新添加的组。
new_object_facing int 确定新添加的对象是面朝上还是面朝下。
randomize bool 对象将被随机放置。
split_added_decks bool 添加到区域的牌组将被分割成各自的牌。
sticky_cards bool 当拿起卡片时,上面的卡片也会被拿起。
trigger_for_face_down bool 面朝下的物体将被放置在区域内。
trigger_for_face_up bool 面朝上的物体将被放置在区域。
trigger_for_non_cards bool 放置在区域上的非卡片物体将被放置
vertical_group_padding float 组之间插入的垂直空间大小。
vertical_spread float 组中每个对象与前一个对象垂直移动的距离。

RPG小雕像 RPGFigurine

RPG小雕像行为出现在带有内置动画的对象上,例如RPG Kit对象。

回调成员

这些是RPG小雕像成员变量,可以为其分配一个函数,该函数将在偶数发生时执行。

成员名 描述
onAttack(table hitObjects) 当RPG小雕像对象执行攻击时执行。
onHit(table attacker) 当RPG小雕像对象被攻击时执行。

函数

函数名 描述 返回类型
attack() 随机播放一个攻击动画 bool
changeMode() 改变雕像的当前模式。模式所代表的是基于小雕像。 bool
die() 播放死亡动画或使其复活。 bool

制作一个RPG雕像攻击。

object.RPGFigurine.attack()

文本工具 TextTool

文本工具的行为出现在3DText对象上,也就是那些用文本工具创建的对象。

函数

函数名 描述 返回类型
getFontColor() 返回字体颜色表。 color
getFontSize() 返回字体大小的Int值。 int
getValue() 返回当前文本。行为与对象的getValue()相同。 string
setFontColor(color font_color) 设置字体颜色。 bool
setFontSize(int font_size) 设置字体大小。 bool
setValue(string text) 设置当前文本。行为与对象的setValue(…)相同。 bool

对象组件

介绍

组件api是一种高级特性。理解Unity的工作原理是使用它们的必要条件。

组件是一个函数和变量的集合,它允许你控制对象的行为。

组件是一个Unity概念,它们是构成桌面模拟器对象的构建块。

游戏对象 GameObjects

《桌面模拟器》中的每个对象都是游戏对象。当游戏被创建时,游戏对象被加载和初始化,一些顶级游戏对象将通过桌面模拟器的Lua脚本api作为常规对象暴露出来,每个对象都有自己的脚本上下文。

有些lua暴露的对象是由子游戏对象的层次结构组成的。组件api允许访问并与这些子游戏对象进行交互(否则你将无法控制)。

组件

游戏对象本身是由组件组成的。典型的游戏对象应该包含Collider, Transform, Mesh等。这些组件描述了游戏对象的行为和视觉表现。

除了内置对象,组件api还提供了访问存在于AssetBundle中的游戏对象和组件。这意味着当你创建一个AssetBundle时,你可以附加所有的组件(灯光,声音等),你可以通过这些api来控制它们。

变量

每个组件都有多个变量。你可以修改这些变量来改变组件如何影响它所组成的游戏对象。

组件

成员变量

名称 类型 描述
game_object GameObject 组件构成的游戏对象。
name string 组件的名称。

函数

名称 描述 返回值
get(string name) 获取组件上给定变量的值。 var
getVars() 返回一个表,将变量名称(string)映射到它们的类型,该类型也表示为string。 table
set(string name, var value) 将指定名称的变量设置为提供的值。 bool

游戏对象

成员变量

名称 类型 描述
name string The name of the Component.

函数

函数名 描述 返回类型
getChild(string name) 返回一个匹配指定名称的子游戏对象。 GameObject
getChildren() 返回子游戏对象列表。 table
getComponent(string name) 从游戏对象的组件列表中返回一个匹配指定名称的组件。 Component
getComponentInChildren(string name) 返回一个与指定名称匹配的组件。通过递归地搜索游戏对象的组件及其子组件(深度优先)找到。 Component
getComponents(string name) 返回游戏对象的组件列表。name是可选的,当指定时,只有指定名称的组件将被包括。 table
getComponentsInChildren(string name) 返回通过递归搜索游戏对象及其子对象找到的组件列表(深度优先)。name是可选的,当指定时,只有指定名称的组件将被包括。 table

例子

这些例子都是完整的脚本,可以放在一个常规的红块上。

禁用对象的阴影接收。

function onLoad()-- Get the MeshRenderer of the block's GameObjectlocal meshRenderer = self.getComponent("MeshRenderer")-- Disable its ability to have a shadow cast onto it by another ObjectmeshRenderer.set("receiveShadows", false)
end

禁用一个对象的(box)碰撞器。这通常会导致对象穿过表下落。

function onLoad()-- Get the BoxCollider Component of the block's GameObjectlocal boxCollider = self.getComponent("BoxCollider")-- Disable the BoxCollider ComponentboxCollider.set("enabled", false)
end

禁用一个对象的音频。物体将不再发出声音,例如,当从桌上拿起或掉在桌上时。当其他物体与该物体碰撞时,可能会继续发出声音。

function onLoad()-- Get the AudioSource Component of the block's GameObjectlocal blockComp = self.getComponent("AudioSource")-- Mute itblockComp.set("mute", true)
end

桌面模拟器(TTS)脚本API相关推荐

  1. linux更改桌面壁纸的脚本,自动更换桌面壁纸的脚本,支持Ubuntu 18.04系统

    下面提供一个自动更换桌面壁纸的脚本,它支持Ubuntu 18.04.UbuntuKylin 18.04.Ubuntu Mate系统. 注意事项: 1.默认的壁纸通常在目录路径为/usr/share/b ...

  2. 前端脚本API发布 | Java 开源企业信息化建设平台O2OA平台

    开发四年只会写业务代码,分布式高并发都不会还做程序员? >>>   O2OA开发团队于2019年2月20日首次发布基于Javascript语法的前端开发脚本API文档.并且表示团队仍 ...

  3. shopify api php 开发,Shopify 脚本 API 参考

    Shopify 脚本 API 参考 已于 Mar 19, 2021 打印了此页面.若要查看当前版本,请访问 https://help.shopify.com/zh-CN/manual/checkout ...

  4. android gpu不工作6,Android 12抛弃了用于GPU计算任务的渲染脚本API

    早在 Android 3.0(Honeycomb)时代,谷歌就引入了 RenderScript API,以便开发者能够在 CPU / GPU 上运行高性能工作负载,而无需借助 NDK 或 GPU 专用 ...

  5. Unity脚本api网址

    Unity脚本api网址 可用于查询在unity3d开发过程中可能会用到的api.

  6. python怎么保存到桌面_python3应用windows api对后台程序窗口及桌面截图并保存的方法...

    python的版本及依赖的库的安装 #版本python 3.7.1 pip install pywin32==224 pip install numpy==1.15.3 pip install ope ...

  7. linux更改桌面壁纸的脚本,ubuntu 桌面 壁纸 自动切换 方法 图解 linux

    ubuntu实在是不错的,桌面效果也是很炫酷的.而对于强大的linux实现win7的自动切换背景也是比较小儿科的.限于水平,讨论一个菜鸟级的方案,请批评指正,tangchao90908@sina.co ...

  8. myApps常用脚本API(一)

    为了方便日常开发,特对myApps常用API做了汇总整理. 一.当前打开文档函数 1.getId() [概述]获取当前文档ID [返回值]String [参数]无 [示例]脚本代码 // 实现getI ...

  9. HTML5 桌面通知:Notification API 的应用

    2019独角兽企业重金招聘Python工程师标准>>> 先看效果: image.png 这是利用html5桌面通知Notification API实现的,先看看代码,再分析Notif ...

最新文章

  1. Python七大原则,24种设计模式
  2. java技术培训之File类中常用的构造方法
  3. 这三类问题是工控系统最大的威胁
  4. 装箱---一个工厂制造的产品形状都是长方体,它们的高度都是 h,长和宽都相等,一共有六个型号,他们的长宽分别为 1*1, 2*2, 3*3, 4*4, 5*5, 6*6.
  5. HTML5中本地数据库(SQLLite)的基础
  6. Java 算法 入学考试
  7. mapbox 导航_寻宝风格导航地图 Treasure 诞生记 | Mapbox 地图设计思路
  8. 洛谷P2888 [USACO07NOV]牛栏Cow Hurdles
  9. java 8 特点_Java8的特性有哪些
  10. Activiti7 表介绍
  11. Video.js 使用教程 - 手把手教你基于 Vue 搭建 HTML 5 视频播放器
  12. win10打不开自带word文档怎么办
  13. 802.11ac双频
  14. 重疾险对比:“瑞泰瑞享安康” V.S. “信泰百万无忧”
  15. 在web网页中打开word文档
  16. STM32系列微控制器入门介绍
  17. Android 屏幕适配方案(七)
  18. BLE(3)—— 空口数据包组成
  19. jdk的exe安装版和zip压缩版有什么区别
  20. c语言垃圾分类管理系统,RFID超高频垃圾分类车管理读写器

热门文章

  1. Module not found Error Can‘t resolve ‘..viewsAboutView.vue‘ in ‘CUsers24210Desktophout
  2. coreldraw课表设计作品_平面品牌广告设计就业后工资高不高
  3. 关于搜狗双核浏览器2.0
  4. Echarts视图可视化-学习笔记(努力更新中)
  5. linux mdev 命令,linux设备驱动----利用mdev(udev)自动创建设备文件节点
  6. 小程序测试版和正式版的区别
  7. Python爬虫之爬取“天气后报网”的天气历史信息
  8. 卡尔曼滤波器(目标跟踪一)(上)
  9. 调用中国网建API发送短信
  10. 07-Nginx 日志管理及自动切割