在绘制三角形之前,首先需要创建一个三角形,打开D2DBasicAnimation.h头文件,在D2DBasicAnimation类中添加如下的代码:
private:
//声明成员变量objectGeometry
Microsoft::WRL::ComPtr<ID2D1PathGeometry> objectGeometry;
private:
//创建图形
void CreateShape();
在上面的代码中,使用private关键字声明一个私有的成员变量objectGeometry和一个私有的CreateShape函数。其中objectGeometry为ID2D1PathGeometry类型的指针,CreateShape函数用来创建一个三角形。
声明了CreateShape函数以后,接着在D2DBasicAnimation.cpp源文件中添加CreateShape函数的实现代码,具体代码如下所示:
void D2DBasicAnimation::CreateShape()
{
//得到ID2D1PathGeometry类型的对象
DX::ThrowIfFailed(
d2dFactory->CreatePathGeometry(&objectGeometry)
);
//声明geometrySink指针
ComPtr<ID2D1GeometrySink> geometrySink;
DX::ThrowIfFailed(
objectGeometry->Open(&geometrySink)
);
//开始创建图形
geometrySink->BeginFig