为什么字母以路径的相反顺序出现(应该是)?

时间:2018-07-31 14:07:39

标签: c# for-loop unity3d foreach

我正在与一位朋友一起开发一款游戏,玩家必须在一些字母之间画一条路径才能单词。问题是字母以路径的相反顺序出现。 我的朋友在这里发布了一个问题,但他没有正确提出问题

我尝试过的事情: *将for循环更改为:

 for(int i = (offeredLetters.Count- 1); i >= 0; i--)  // Nothing change

*我也尝试了Reverse()linq foreach。

这是显示问题的图像:

Image of the problem

这是我的代码:

public void CreateOfferedLetters()
 {
     float alpha = 360f / (offeredLetters.Count + offeredBonusLetters.Count);
     float firstAngle = 0;
     Vector3 startPosition = new Vector3(0, 250f, 0);

     for (int i = 0; i < offeredLetters.Count; i++)
     {
         GameObject letter = Instantiate(offeredLetterPrefab, offeredLettersHolder.transform) as GameObject;

         letter.transform.Find("AnimationHolder/LetterHolder").GetComponent<OfferedLetter>().letter = offeredLetters[i];
         letter.transform.Find("AnimationHolder/LetterHolder/LetterImage").GetComponent<Image>().sprite = GetLetterSprite(offeredLetters[i]);
         letter.transform.localScale = Vector3.one;
         letter.transform.localPosition = Vector3.zero;

         Quaternion r = letter.transform.rotation;
         r.eulerAngles = new Vector3(0, 0, firstAngle);
         letter.transform.rotation = r;

         Quaternion l = letter.transform.Find("AnimationHolder/LetterHolder").localRotation;
         l.eulerAngles = new Vector3(0, 0, -firstAngle);
         letter.transform.Find("AnimationHolder/LetterHolder").localRotation = l;

         firstAngle += alpha;

         // Create a selection letter
         GameObject sl = Instantiate(selectedLetter, selectedLettersHolder.transform) as GameObject;
         sl.GetComponent<Image>().sprite = GetLetterSprite(offeredLetters[i]);
         sl.transform.localScale = Vector3.one;
         sl.transform.localPosition = Vector3.zero;
         sl.name = offeredLetters[i];
         sl.SetActive(false);

     }

2 个答案:

答案 0 :(得分:0)

使用npm run lint代替循环。

答案 1 :(得分:0)

您在游戏中使用的似乎是阿拉伯文字。而且Unity并没有完全支持阿拉伯语。如果您在Unity中复制和粘贴,它将始终显示为反向。 您需要为此提供阿拉伯语支持插件,该插件可在统一商店中免费使用。这是链接Arabic Support