Cocos2d-x C++ Sprite Slice9渲染模式的应用

简介

在Slice9渲染模式中,会将需要渲染的纹理分为9块(不一定是均分,通过setCenterRect()设置中间区域的位置和大小,其他区域的位置和大小可以通过中间区域的矩形推算出来),在保持1、3、7、9块形状不变的情况下,2、8块左右拉伸,4、6块上下拉伸,5块两个方向同时拉伸。

Cocos2d-x C++ Sprite Slice9渲染模式的应用_第1张图片

进行拉伸后如图所示:

Cocos2d-x C++ Sprite Slice9渲染模式的应用_第2张图片

Slice9渲染模式的显示效果和9Patch图片显示相同,不同的是Slice9是一种渲染模式,纹理可以是普通图片的纹理;而9Patch是一种特殊的图片格式,存储时就已经指定了中间区域的范围。

应用

Slice9模式主要用于UI背景、聊天框等。由于这些情况图片内文字长度不确定,不可能为各种情况单独适配UI,直接拉伸UI会变形,此时就可以使用Slice9模式。

聊天框原图:

Cocos2d-x C++ Sprite Slice9渲染模式的应用_第3张图片

使用效果图:

Cocos2d-x C++ Sprite Slice9渲染模式的应用_第4张图片

上方为直接拉伸的效果,下方为使用Slice9模式的效果。

你可能感兴趣的:(Cocos2d-x,C++)