obj.setanchor
型:function
code:Lua
obj.setanchor(name,num,...) table:
引数名 型 説明 備考
name string 参照するparam・dialog内引数の名前 or "track" 指定した変数はグローバルでなければならない
num number アンカーポイントの数 name="track"の場合は0を入れなければならない
... string or number オプションを列挙する オプションの一覧は後述
戻り値 number アンカーポイントの数 name="track"にしたときに使うとよい
説明
アンカーポイントをセットする オプションを使って様々な形にできる
nameに変数名を指定した場合
座標は整数で記録される
アンカー数は16個まで
name="track"とした場合
x座標はtrack0,y座標はtrack1に記録される
"xyz"のときはz座標がtrack2に記録される
こちらはアンカー数の制限は無い
{x1,y1,x2,y2,x3,y3,...}のように、座標は1つのテーブルにx座標をy座標を並べて記録される
xyzなら{x1,y1,z1,x2,y2,z2,...}って感じね
オプションの一覧
table:線のつなぎ方を指定するオプション
名前 説明 備考
line アンカーを順に繋げる
loop アンカーを順に繋げる 終点と始点も繋げる
star オブジェクトの中心とアンカーをそれぞれ繋げる
arm アンカーを順に繋げる 始点とオブジェクトの中心も繋げる
これらオプションが指定されなければ、アンカーポイントのみしか描画されず、線は描画されない
また、これらが同時に指定された場合は、一番最後に挙げたオプションが適用される
table:その他のオプション
名前 説明 備考
color 繋げた線の色を指定できる 直後に色を指定する inoutと併用する時は、in,outの色を順番に2つ並べる
inout アンカーポイントを半分ずつ処理する name="track"と併用できない
アンカー数が奇数の場合は一番最後のアンカーを無視する
xyz アンカーポイントを3次元で記録する
使用例
1.
code:Lua
--param:p={-100,-100,100,-100,100,100,-100,100};
obj.setanchor("p",4)
for i=1,4 do
obj.load(i)
end
https://gyazo.com/aac27ec3c6f6a70c282b4f61e8ab6454
2.
code:Lua
--track0:x,-1500,1500,0
--track1:y,-1500,1500,0
local n=obj.setanchor("track",0,"line")
for i=1,n do
obj.load(i)
obj.draw(
obj.getvalue(0,0,i-1),
obj.getvalue(1,0,i-1)
)
end
https://gyazo.com/b90ea246de0f2ae94edcc5c3ac02f8e7
3.
code:Lua
--track0:点の数,2,16,3,1
--dialog:座標,p={-100,-100,100,-100,100,100};
local n=obj.track0
obj.setanchor("p",n,"arm","color",0xff0000)
for i=1,n do
obj.load(i)
end
https://gyazo.com/407409851c0613c1871c4e7b49c1f769
4.
code:Lua
--track0:点の数,2,8,2,1
--param:p={};
local n=obj.track0-obj.track0%2
obj.setanchor("p",n,"line","inout","color",0xffff00,0xffff)
for i=1,n do
obj.load(i)
end
https://gyazo.com/66aa2a1f7b9c0b65a3ae5640aeecb106