之前给SuperTestMesh 增加了个背景渲染
只是添加了4个顶点2个三角面渲染了一个图,今天背景需要九宫拉伸还需要再改下
本来想看下SpriteRenderer的源码 借鉴下,发现应该是都写再C++源码里了算了还是 暂时看不懂
自己研究下把,
思考
正常一个图4个顶点2个三角面组成一个矩形 4个UV信息 就能渲染,只要把顶点位置设置成贴图大小即可等比例渲染出贴图
但是现在要把一个图只拉伸指定区域,其他区域不进行拉伸例如
下图 如果图标被拉伸 只拉伸绿色区域像素,其他区域像素不要拉伸,这时就不能用一个矩形来渲染了,需要三个矩形,拉伸时候只拉伸中间矩形
![](https://i-blog.csdnimg.cn/blog_migrate/84a2bbe36f0038b9c11ea5f44259c738.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3f245c39f5edaa8186277a96b0f9a070.png)
设置拉伸区域,和没拉伸区域效果
![](https://i-blog.csdnimg.cn/blog_migrate/36314ae85b03b0dcfcecc0485d8e5484.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b06f3bfd03d9a84be58480a87dcb414d.png)
我这个只是个半成品,顾名思义九宫格拉伸 我这才三个格子,顶多就算个鸳鸯锅plus版本 哈哈
九宫格没做因为目前没需求暂时就做了个这个
其实九宫格拉伸就是要做9个矩形 18个三角面 36个顶点 来渲染
AC 区域只做横向拉伸 纵向不拉很
B 区域横纵都拉伸
其他区域不拉伸
![](https://i-blog.csdnimg.cn/blog_migrate/b6af944e3f32f179ac7bfbf037fe8057.png)
代码就不上传了 主要时记录下思路