http://hi.baidu.com/zyb_debug/blog/item/87a5d6c3072f8c3fe4dd3b2a.html
花了一个早上的时间,终于将路径库扩充完毕。
再次感叹一下Animation 那本书实在是太好了。
途中的茶壶会按照自己在外部文件中定义的路径走,有直线,有曲线。
外部txt是这样定义的
xof 0303txt 0032
template Path {
<F8569BED-53B6-4923-AF0B-59A09271D556>
DWORD Type; // 0=straight, 1=curved
Vector Start;
Vector Point1;
Vector Point2;
Vector End;
}
template Route {
<18AA1C92-16AB-47a3-B002-6178F9D2D12F>
DWORD NumPaths;
array Path Paths[NumPaths];
}
Route Robot {
5; // 5 paths
0; // Straight path type
0.0, 10.0, 0.0; // Start
0.0, 10.0, 0.0; // Unused
0.0, 10.0, 0.0; // Unused
0.0, 10.0, 150.0;, // End
1; // Curved path type
0.0, 10.0, 150.0; // Start
75.0, 10.0, 150.0; // Point1
150.0, 10.0, 75.0; // Point2
150.0, 10.0, 0.0;, // End
1; // Curved path type
150.0, 10.0, 0.0; // Start
150.0, 10.0, -75.0; // Point1
75.0, 10.0, -150.0; // Point2
0.0, 10.0, -150.0;, // End
0; // Straight path type
0.0, 10.0, -150.0; // Start
0.0, 10.0, 0.0; // Unused
0.0, 10.0, 0.0; // Unused
-150.0, 10.0, 75.0;, // End
0; // Straight path type
-150.0, 10.0, 75.0; // Start
0.0, 10.0, 0.0; // Unused
0.0, 10.0, 0.0; // Unused
0.0, 10.0, 0.0;; // End
}
然后用个类解析,根据时间插值就行了。
![](http://www.cppblog.com/images/cppblog_com/zybdebug/2009-09-14_114932.jpg)
![](http://www.cppblog.com/images/cppblog_com/zybdebug/2009-09-14_114924.jpg)