我正在与一位朋友一起开发一款游戏,玩家必须在一些字母之间画一条路径才能单词。问题是字母以路径的相反顺序出现。 我的朋友在这里发布了一个问题,但他没有正确提出问题
我尝试过的事情: *将for循环更改为:
for(int i = (offeredLetters.Count- 1); i >= 0; i--) // Nothing change
*我也尝试了Reverse()linq foreach。
这是显示问题的图像:
这是我的代码:
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);
}
答案 0 :(得分:0)
使用npm run lint
代替循环。
答案 1 :(得分:0)
您在游戏中使用的似乎是阿拉伯文字。而且Unity并没有完全支持阿拉伯语。如果您在Unity中复制和粘贴,它将始终显示为反向。 您需要为此提供阿拉伯语支持插件,该插件可在统一商店中免费使用。这是链接Arabic Support。