2

私はウェブを検索しましたが、実際にそれを明確にするチュートリアルはなかったので、これについて簡単な説明が必要です:

次のような値を作成するために、( C言語コンパイラで) lua の新しいデータ型を作成したいと考えています。

pos1 = Vector3.new(5, 5, 4) --Represents 3D position

pos2 = CFrame.new(4, 2, 1) * CFrame.Angles(math.rad(40), math.rad(20), math.rad(5)) --Represents 3D position AND rotation

これらは、Roblox と呼ばれるゲーム エンジンで通常使用できるいくつかの行です。Robloxの外で使用するためにそれらを再作成したい.

4

2 に答える 2

0

metatables と loadstring は、私がこれに似た方法でそれに到達したクローズです:

loadstring([=[function ]=] .. customtype .. [=[.new(...)
return loadstring( [[function() return setmetatable( {...} , {__index = function() return ]] .. ... .. [[ ) end )() end]] ]=] )()

これは私が言いたいことの要点です。きちんとしていて完璧ではないことを残念に思いますが、少なくとも続けるべきことです(昨夜はあまり眠れませんでした)。

于 2015-06-12T23:50:23.667 に答える