FrameTagManager インタフェースを使用した時間タグ アクセス
時間タグは、タイム ラインの参照点を定義してナビゲーションを高速にするために使用します。
時間タグには FrameTagManager インタフェースでアクセスできます (SDK の IFrameTagManager インタフェースに対応)。
以下は、FrameTagManager インタフェースを使用して MAXScript で時間タグにアクセスする例です。
例
|
ntags = FrameTagManager.GetTagCount() --> 0
tag1 = FrameTagManager.CreateNewTag "tag1" 15 --> 1
tag2 = FrameTagManager.CreateNewTag "tag2" 25 lockID:tag1 scale:true --> 2
tag3 = FrameTagManager.CreateNewTag "tag3" 25 scale:false-->3
loop1 = FrameTagManager.CheckForLoop tag1 tag2 --> false
loop2 = FrameTagManager.CheckForLoop tag2 tag1 --> true
loop3 = FrameTagManager.CheckForLoop tag1 tag3 --> false
loop4 = FrameTagManager.CheckForLoop tag3 tag1 --> false
ntags = FrameTagManager.GetTagCount() --> 3
for i = 1 to ntags do
(
id = FrameTagManager.GetTagID i
tagTime = FrameTagManager.GetTimeByID id
tagLockID = FrameTagManager.GetLockIDByID id
tagName = FrameTagManager.GetNameByID id
tagScale = FrameTagManager.GetScaleByID id
format "%: id:%; name:%; time:%; lockID:%; scale:%\n" i id tagName tagTime tagLockID tagScale
)
FrameTagManager.SetTimeByID tag1 10 --> ok
FrameTagManager.SetLockIDByID tag3 tag2 --> true
FrameTagManager.SetNameByID tag1 "modified tag1" --> ok
FrameTagManager.SetScaleByID tag1 false --> ok
ntags = FrameTagManager.GetTagCount() --> 3
for i = 1 to ntags do
(
id = FrameTagManager.GetTagID i
tagTime = FrameTagManager.GetTimeByID id
tagLockID = FrameTagManager.GetLockIDByID id
tagName = FrameTagManager.GetNameByID id
tagScale = FrameTagManager.GetScaleByID id
format "%: id:%; name:%; time:%; lockID:%; scale:%\n" i id tagName tagTime tagLockID tagScale
)
FrameTagManager.SetTimeByID tag2 5 relative:true --> ok
ntags = FrameTagManager.GetTagCount() --> 3
for i = 1 to ntags do
(
id = FrameTagManager.GetTagID i
tagTime = FrameTagManager.GetTimeByID id
tagLockID = FrameTagManager.GetLockIDByID id
tagName = FrameTagManager.GetNameByID id
tagScale = FrameTagManager.GetScaleByID id
format "%: id:%; name:%; time:%; lockID:%; scale:%\n" i id tagName tagTime tagLockID tagScale
)
FrameTagManager.DeleteTag tag2 --> ok
FrameTagManager.FindItem tag2 --> 0
FrameTagManager.FindItem tag3 --> 2
ntags = FrameTagManager.GetTagCount() --> 2
for i = 1 to ntags do
(
id = FrameTagManager.GetTagID i
tagTime = FrameTagManager.GetTimeByID id
tagLockID = FrameTagManager.GetLockIDByID id
tagName = FrameTagManager.GetNameByID id
tagScale = FrameTagManager.GetScaleByID id
format "%: id:%; name:%; time:%; lockID:%; scale:%\n" i id tagName tagTime tagLockID tagScale
)
FrameTagManager.SetLockIDByID tag1 tag3 --> true
FrameTagManager.GetTimeByID tag1 --> 10f
FrameTagManager.SetLockIDByID tag3 tag1 --> false
FrameTagManager.GetTimeByID tag3 --> 20f
FrameTagManager.CheckForLoop tag1 tag3 --> true
FrameTagManager.CheckForLoop tag3 tag1 --> false
FrameTagManager.SetLockIDByID tag1 0 --> true
FrameTagManager.GetTimeByID tag1 --> 10f
FrameTagManager.FindItemByTime 10 --> 1
FrameTagManager.FindItemByTime 15 --> 0
FrameTagManager.FindItemByTime 20 --> 2
|