关于,GetPathCurrentNode
tv3d吧
全部回复
仅看楼主
level 7
流星侠客网
楼主
原本想PATH有个GetPathCurrentNode ,那么可以用这个得到NPC是否到达了路径的最后一个节点。一个路径我只设几个点,怎么GetPathCurrentNode 的值是single,而且还不断增长,这究竟是怎么回事,搞得我判断一个NPC到了路径的终点不得不用其它的方法。
2013年03月26日 12点03分
1
level 7
reity
看英文就知道是获得当前节点,是节点ID,不是节点坐标,如果在两个节点之间自然就是小数。
当GetPathCurrentNode等于结点总数的时候就是到达终点了。
2013年03月26日 13点03分
3
流星侠客网
GetPathCurrentNode是 得到路径当前结点,这个我知道,if Body.GetPathCurrentNode = Path.GetNode(Path.GetNodeCount - 1) then ,两个都是得到结点吧,可是在程序里测试他们永远也不相等
2013年03月26日 13点03分
reity
回复 流星侠客网 :因为都在变化,而且都是小数,相等的概率很小。 你用 if Body.GetPathCurrentNode >= Path.GetNode(Path.GetNodeCount - 1) then 好了,不会偏离很远的
2013年03月26日 13点03分
流星侠客网
刚试了,你这句类型不匹配,Body.GetPathCurrentNode >= Path.GetNode(Path.GetNodeCount - 1), Body.GetPathCurrentNode 得到的是一个single, Path.GetNode得到的是一个tv_3dvector,应该用: If Body.GetPathCurrentNode - Path.GetNodeCount < 1 Then '路径的最后一个节点
2013年03月26日 14点03分
reity
回复 流星侠客网 :嗯, GetNode应该是点具体坐标, 用GetNodeCount是正确的。
2013年03月26日 14点03分
1