我是使用 LUA 在 TableTop Simulator 中制作模组的最业余爱好者,并且有一个我无法解决的问题。
我有许多“对象”,它们是 TTS 中的一个表,其中包含这些对象的各种数据。例如.. obj.position = {x,y,z}... 并且也可以在轴级别访问。
obj.position = {5,10,15} -- x,y,z
obj.position.x == 5
这是一个例子。TTS 的制造商已经做到了,因此您可以访问所有这样的部分。所以我可以访问对象..然后是它的各个部分。有一个堆,比如名称、网格、漫反射等等。旋转{x,y,z}等
反正。我有一个对象表......并且想根据 x 轴的位置数据对这些对象进行排序......所以从最高到最低。因此,如果我有一个表,并且该表中的 obj1 为 x=3 且 obj2 为 x=1 且 obj3 = x=2 它将被排序为 obj2,obj3,obj1
伪代码:
tableOfObjects = {obj1,obj2,obj3}
--[[
tableOfObjectsp[1] == obj1
tableOfObjectsp[2] == obj2
tableOfObjectsp[3] == obj3
tableOfObjectsp[1].position.x == 3
tableOfObjectsp[2].position.x == 1
tableOfObjectsp[4].position.x == 2
--]]
---After Sort it would look this list
tableOfObjects = {obj1,obj3,obj2}
--[[
tableOfObjectsp[1] == obj1
tableOfObjectsp[2] == obj3
tableOfObjectsp[3] == obj2
tableOfObjectsp[1].position.x == 3
tableOfObjectsp[2].position.x == 2
tableOfObjectsp[3].position.x == 1
--]]
我希望我说得通。在过去的几个月里,我是自学的!
所以基本上我有一个对象表,并希望根据附加到表中每个单独对象的单个值对该表中的对象进行排序。在这种情况下,obj.position.x
谢谢!