示例#1
0
PolygonSprite* PolygonSprite::create(cc::CCTexture2D *pTexture, std::vector<pr::Vec2> const& triangles, cc::CCRect const& rect)
{
	std::vector<cc::ccVertex3F> cc_triangles;
	
	for( size_t i=0; i<triangles.size(); ++i )
    {
		cc::CCPoint p = triangles[i].toCCPoint();
		cc::ccVertex3F v = { p.x - rect.origin.x , p.y - rect.origin.y, 0 };
        cc_triangles.push_back( v );
    }

	PolygonSprite *sprite = new PolygonSprite();

	if (sprite && sprite->init(pTexture, &cc_triangles, rect))
	{
		sprite->autorelease();
		return sprite;
	}
	CC_SAFE_DELETE(sprite);
	return NULL;
}