4. 让图片动起来

本文介绍了如何利用SDL库和人眼视觉暂留效应来创建动画效果。通过每100毫秒移动图片的源矩形位置来实现帧切换,达到动态效果。此外,还展示了如何使用SDL_RenderCopyEx函数实现图片的反向播放,以减少资源消耗并实现游戏中的反向运动功能。
摘要由CSDN通过智能技术生成

资源

原图:
在这里插入图片描述
在这里插入图片描述

原理

动画其实就是利用人眼视觉的暂留效应, 将一帧一帧的图片快速播放, 看起来就像物体动起来了. 上述是一张由6帧图片组成的一张图片, 每一帧为128*82. 我们为了实现动态效果, 将src_rect.x每隔一段时间向前推进128px就行了.(即上图中的红框, 每个一段时间移动到下一帧, 也就是蓝框的位置). 图片的加载和第三篇文章一样. 主要代码变更如下

// Game.cpp
bool Game::init(const char* title, int xpos, 
在UE4中,如果要保持材质中图片的尺寸不变形并且实现态效果,我们可以使用材质参数和态材质实例化来实现。 首先,我们需要创建一个态材质实例。在材质编辑器中,选择要态显示的纹理贴图,并在Details面板的Material Expression层级下添加一个SceneTexture节点,选择World Position Offset。然后,将该节点输出连接到材质表达式的Base Color输入节点。这样,我们就可以将纹理显示在模型上并保持尺寸不变形。 然后,我们需要在Level Blueprint或Actor Blueprint中设置态材质参数。在蓝图中,我们可以通过创建一个Dynamic Material Instance变量,并在Begin Play事件中通过GetMaterial节点获取材质,并使用Create Dynamic Material Instance节点创建一个态材质实例。 接下来,我们可以通过节点Set Material Texture Parameter Value来设置态材质中的纹理参数。我们可以将纹理赋值给态材质实例的Texture Parameter,并将其连接到模型的材质槽。 最后,我们可以使用节点Set Material Vector Parameter Value来通过态材质实例来控制模型的画效果。通过调整Vector参数的值,我们可以实现模型的位移、旋转等态效果,同时保持纹理的尺寸不变形。 总结起来,要在UE4中实现材质保持图片尺寸不变形并且起来,我们需要创建一个态材质实例,并通过设置材质参数值来控制纹理的显示和画效果。这样可以保持纹理的尺寸不变形,并使其在模型上态展示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值