制作可在 Unity 4.6 中翻转的图像
本文关键字:翻转的 图像 Unity | 更新日期: 2023-09-27 18:31:56
我正在尝试在Unity 4.6 2D中实现一张卡片(想想王牌)。我通常正在处理预制件图像,我们称之为预制卡。
卡片具有图像脚本(当然),源图像设置为卡的背面。对于所有卡,这都是相同的。如何实现正面,为每种类型的卡牌(五心、黑桃之王等)提供独特的纹理/图像/精灵?
我目前使用动画进行翻转。卡的默认状态为正面朝下。"上翻"动画是这样做的:
- 动画进行到一半时,将旋转 Y 轴设置为 90 度。
- 设置一个新的源图像 - 现在这是"硬编码"为"hearts_5.png",即五颗心。
- 将比例 X 设置为 -1。(需要编辑关键帧以关闭从动画开始随时间推移而出现的补间!
- 作为动画中的最后一个关键帧,再次将 Y 轴旋转到 180 度。
因为我将卡旋转到 180 度,所以源图像将显示镜像,这就是为什么我需要将比例 X 设置为 -1 以便镜像纹理。
它运行得很好,我现在需要了解如何(从 C# 代码)根据实际卡牌(黑桃十等)为卡(游戏对象)>组件(图像)>精灵变量设置另一个精灵。我该怎么做?
如果有更好的方法来实现这一点,请继续。
public List<Sprite> sprites;
private int m_index;
public SpriteRenderer m_renderer;
void Start() {
m_index = 0;
m_renderer = GetComponent<SpriteRenderer>();
}
public void SwitchSprite(somecardtype) {
m_renderer.sprite = sprites[(int)somecardtype];
}
或者,您可以使用该私有m_index变量为将容纳所有卡牌精灵的精灵数组编制索引。这有帮助还是我需要详细说明?