制作可在 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# 代码)根据实际卡牌(黑桃十等)为卡(游戏对象)>组件(图像)>精灵变量设置另一个精灵。我该怎么做?

如果有更好的方法来实现这一点,请继续。

制作可在 Unity 4.6 中翻转的图像

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变量为将容纳所有卡牌精灵的精灵数组编制索引。这有帮助还是我需要详细说明?