虚幻4引擎工作室

致力于国内虚幻4引擎的普及与发展

虚幻4 C++ 九宫格的实现

虚幻4 C++九宫格的实现

思路:

美术一般都会提供一个用来九宫格的背景图片,然后程序把图片切成9份,每份做特殊处理。


角落都不用拉伸,上下边缘向左右拉伸,左右边缘向上下拉伸,中间背景颜色整张拉伸。

最后背景板的结果如下图:



UMG实现的话,每个部分创建一个CANVAS PANEL,panel里面添加一个Image.左下角就这么显示:


绿色是canvas Panel 绿色星星是panel的锚点。红色是图片,红色星星和绿色星星重叠,是图片的锚点。

这样图片就只能显示出Panel部分,只有一个角了。


SNew(SConstraintCanvas)
+ SConstraintCanvas::Slot()
.Offset(FMargin(0.0,0.0,0.0,0.0))
.Anchors(FAnchors(0.0, 0.0, 1.0, 1.0))
.Alignment(FVector2D(0.0, 0.0))
[
SNew(SConstraintCanvas)

+ SConstraintCanvas::Slot()
.Offset(FMargin(0.0, -Corner_Percent, Corner_Percent, Corner_Percent))
.Anchors(FAnchors(0.0, 1.0, 0.0, 1.0))
.Alignment(FVector2D(0.0, 0.0))
.ZOrder(1)
[
SNew(SConstraintCanvas)
+ SConstraintCanvas::Slot()
.Offset(FMargin(0.0, -100, 100, 100))
.Anchors(FAnchors(0.0, 1.0, 0.0, 1.0))
.Alignment(FVector2D(0.0, 0.0))
[
SNew(SImage)
.Image(brush)
]
]

]

我这里只贴一个左下角的代码,其他代码读者可以自己尝试完成。







阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lqpgfz/article/details/46830349
个人分类: 虚幻4
想对作者说点什么? 我来说一句

虚幻4开发快速入门

-

学院

2015年10月09日 17:40

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭