C# 根据特定值更改精灵-can';I don’我不知道如何计算这个值
谢谢你的帮助 我有一个函数,当AngelsValue或DevilsValue改变时,sprite也会改变 我想做的是: 如果AngelsValue是DevilsValue的3倍=精灵更改 如果AngelsValue是DevilsValue的5倍=精灵更改 如果AngelsValue是DevilsValue的7倍=精灵更改 反过来说 如果DevilValue是AngelsValue的3倍=精灵更改 如果DevilValue是AngelsValue的5倍=精灵更改 如果DevilValue是AngelsValue的7倍=精灵更改 我的代码工作,但只有特定的数字。。。并将其应用于生活中,使其达到100例的价值。。我将有100行代码:) 非常感谢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
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代码一样,这是一种工作,但我需要很多行来完成。除非你确定一个可预测的间隔,否则你需要对每行代码进行编码。