我正在尝试在Unity 4.6 2D中实现一张卡(想想特朗普卡)。我一般都在制作预制图像,让我们调用预制卡。
卡片有图像脚本(当然),源图像设置在卡片的背面。对于所有卡,这都是相同的。我如何实现前端,为每种类型的卡(五颗心,黑桃王等)提供独特的纹理/图像/精灵?
我目前正在使用动画进行翻转。卡的默认状态是面朝下。 "翻转"动画做到了这一点:
因为我将卡片旋转180度,所以源图像会显示为镜像,这就是为什么我需要将比例X设置为-1以便将纹理反射回来。
它工作得很好,我现在需要找出如何(从C#代码)为卡(GameObject)>组件(图像)> sprite变量设置另一个Sprite,具体取决于实际卡(黑桃十等) )。我该怎么做?
如果有更好的方法可以实现这一目标,请继续。
答案 0 :(得分:0)
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变量来索引将保存所有卡片精灵的精灵数组。这有帮助还是我需要详细说明?