C# 根据特定值更改精灵-can';I don’我不知道如何计算这个值

C# 根据特定值更改精灵-can';I don’我不知道如何计算这个值,c#,android,unity3d,C#,Android,Unity3d,谢谢你的帮助 我有一个函数,当AngelsValue或DevilsValue改变时,sprite也会改变 我想做的是: 如果AngelsValue是DevilsValue的3倍=精灵更改 如果AngelsValue是DevilsValue的5倍=精灵更改 如果AngelsValue是DevilsValue的7倍=精灵更改 反过来说 如果DevilValue是AngelsValue的3倍=精灵更改 如果DevilValue是AngelsValue的5倍=精灵更改 如果DevilValue是Ange

谢谢你的帮助

我有一个函数,当AngelsValue或DevilsValue改变时,sprite也会改变

我想做的是:

如果AngelsValue是DevilsValue的3倍=精灵更改

如果AngelsValue是DevilsValue的5倍=精灵更改

如果AngelsValue是DevilsValue的7倍=精灵更改

反过来说

如果DevilValue是AngelsValue的3倍=精灵更改

如果DevilValue是AngelsValue的5倍=精灵更改

如果DevilValue是AngelsValue的7倍=精灵更改

我的代码工作,但只有特定的数字。。。并将其应用于生活中,使其达到100例的价值。。我将有100行代码:)

非常感谢

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerSpriteChange : MonoBehaviour
{
    public Sprite AngelStage2;

    public Sprite AngelStage3;

    public Sprite AngelStage4;

    public Sprite DevilStage2;

    public Sprite DevilStage3;

    public Sprite DevilStage4;

    void Update()
    {


        if (AngelsCount.AngelsValue >=3 && DevilsCOunt.DevilsValue <= 1)

        {
            this.gameObject.GetComponent<SpriteRenderer>().sprite = AngelStage2;


        }

        else if (AngelsCount.AngelsValue >= 5 && DevilsCOunt.DevilsValue <= 3)
        {
            this.gameObject.GetComponent<SpriteRenderer>().sprite = AngelStage3;
        }

        else if (AngelsCount.AngelsValue >= 7 && DevilsCOunt.DevilsValue <= 5)
        {
            this.gameObject.GetComponent<SpriteRenderer>().sprite = AngelStage4;
        }



        else if (DevilsCOunt.DevilsValue >= 3 && AngelsCount.AngelsValue <= 1)
        {
            this.gameObject.GetComponent<SpriteRenderer>().sprite = DevilStage2;
        }

        else if (DevilsCOunt.DevilsValue >= 5 && AngelsCount.AngelsValue <= 3)
        {
            this.gameObject.GetComponent<SpriteRenderer>().sprite = DevilStage3;
        }

        else if (DevilsCOunt.DevilsValue >= 7 && AngelsCount.AngelsValue <= 5)
        {
            this.gameObject.GetComponent<SpriteRenderer>().sprite = DevilStage4;
        }










    }
}
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
公共类玩家Pritechange:单一行为
{
公共精神天使舞台2;
公共精灵天使舞台3;
公共精灵天使舞台4;
公共精灵设备第2阶段;
公共精灵设备第3阶段;
公共精灵设备第4阶段;
无效更新()
{

如果(AngelsCount.AngelsValue>=3&&DevilsCOunt.DevilsValue=5&&DevilsCOunt.DevilsValue=7&&DevilsCOunt.DevilsValue=3&&AngelsCount.AngelsValue=5&&AngelsCount.AngelsValue=7&&AngelsCount.AngelsValue它们在数值上总是相隔2吗?如果是这样的话,你可以使用for循环。如果我减去3,除以2,你就可以也有一个连续的从0开始的序列来轻松抓取你的精灵。从3=(3-3)/2=0,5=(5-3)/2=1.7=(7-3)/2=2等开始,然后对魔鬼做同样的事情

for (int i = 3; i <= 7; i += 2)
{
   if ((AngelsCount.AngelValue / DevilsCount.DevilsValue) >= i)
   {
      this.gameObject.GetComponent<SpriteRenderer>().sprite = GetAngelStage((i - 3)/2);
   }
}
for(int i=3;i=i)
{
this.gameObject.GetComponent().sprite=GetAngelStage((i-3)/2);
}
}

它们在数字上总是相隔2吗?如果是这样,你可以使用for循环。如果你用i减去3,然后除以2,你也可以有一个连续的基于0的序列来轻松抓取精灵。从3=(3-3)/2=0开始,5=(5-3)/2=1.7=(7-3)/2=2,等等,然后对魔鬼做同样的事情

for (int i = 3; i <= 7; i += 2)
{
   if ((AngelsCount.AngelValue / DevilsCount.DevilsValue) >= i)
   {
      this.gameObject.GetComponent<SpriteRenderer>().sprite = GetAngelStage((i - 3)/2);
   }
}
for(int i=3;i=i)
{
this.gameObject.GetComponent().sprite=GetAngelStage((i-3)/2);
}
}

如果(angelscont.AngelsValue>=3)计算机:“是的,7肯定比3大。那么我想我做了这一点:
sprite=AngelStage2
,我完成了,因为所有其他语句只有在第一位为false时才会发生。你可以将代码放入循环中。你的代码:
如果(angelscont.AngelsValue>=3)
计算机:“是的,7肯定比3大。那么我想我做了这一点:
sprite=AngelStage2
,我完成了,因为所有其他语句只有在第一个位为假的情况下才会发生。谢谢你的评论,但不,它们可以是遥远的一部分,一个可以是20其他60..但我需要“检测”当它们彼此相距2或3时..就像我写的m代码一样,这是一种工作,但我需要很多行来完成。除非你确定一个可预测的间隔,否则你将需要对每行进行编码。谢谢你的评论,但不,它们可以是很远的一部分,一个可以是20其他60..但我需要“检测”当它们彼此相距2或3时..就像我写的m代码一样,这是一种工作,但我需要很多行来完成。除非你确定一个可预测的间隔,否则你需要对每行代码进行编码。