Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 制作一个在Unity 4.6中可以翻转的图像_C#_Unity3d - Fatal编程技术网

C# 制作一个在Unity 4.6中可以翻转的图像

C# 制作一个在Unity 4.6中可以翻转的图像,c#,unity3d,C#,Unity3d,我试图在Unity 4.6 2D中实现一张牌(想想王牌)。我通常是在制作一个预制图像,让我们称之为预制卡 卡有图像脚本(当然),源图像设置在卡的背面。这对所有卡片都是一样的。我如何实现正面,为每种类型的卡(五心牌、黑桃王等)提供独特的纹理/图像/精灵 我目前使用动画进行翻转。卡的默认状态为正面朝下。“翻转”动画可执行以下操作: 在动画中间,将“旋转Y轴”设定为90度 设置一个新的源图像-目前这是“硬编码”为“hearts_5.png”,即五个hearts 将比例X设置为-1。(需要对关键帧进行

我试图在Unity 4.6 2D中实现一张牌(想想王牌)。我通常是在制作一个预制图像,让我们称之为预制卡

卡有图像脚本(当然),源图像设置在卡的背面。这对所有卡片都是一样的。我如何实现正面,为每种类型的卡(五心牌、黑桃王等)提供独特的纹理/图像/精灵

我目前使用动画进行翻转。卡的默认状态为正面朝下。“翻转”动画可执行以下操作:

  • 在动画中间,将“旋转Y轴”设定为90度
  • 设置一个新的源图像-目前这是“硬编码”为“hearts_5.png”,即五个hearts
  • 将比例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_指数; 公共喷灯m_渲染器; void Start(){ m_指数=0; m_renderer=GetComponent(); } 公共虚空开关精灵(somecardtype){ m_renderer.sprite=精灵[(int)somecardtype]; }
或者,您可以使用该私有m_index变量对将容纳所有卡精灵的精灵数组进行索引。这有帮助吗?还是我需要详细说明