【发布时间】:2016-05-10 23:21:55
【问题描述】:
所以我制作了一个具有几个关键功能的简单游戏。
基本概述:你是一个正方形。你必须从 A 点到 B 点。这是一个平台游戏。 (第一场比赛,不要讨厌)。
无论如何,我决定实现一个有趣的功能。只有 2 种可能的颜色。黑与白。如果你是白色的,那么地面就是黑色的。如果地面是白色的,那么你就是黑色的。背景为纯白色。所以基本上你可以选择看你的播放器,或者看看你在哪里移动。您可以使用 Shift 键来回切换。
现在,我的问题是切换关卡颜色。关卡全部为 1,在平台上单独放置了盒子对撞机。我可以在播放器上切换白色和黑色,但是无论我按多少次,地面都不会切换颜色。
(问题不在于时间,只是让地面也可以在按下 shift 时切换颜色。)
我有 2 个相同的独立脚本。地面上的一组之间的唯一区别是布尔值被交换,因此您永远不会与地面颜色相同。这是我的代码。有人可以帮我弄清楚为什么我不能改变地面但玩家没问题吗? 尖峰也是如此(它们是单独的精灵)
private bool colorSet = true;
void Start ()
{
}
void Update ()
{
if (Input.GetKeyDown (KeyCode.RightShift))
{
colorSet = !colorSet;
}
if (colorSet == true)
{
gameObject.GetComponent<SpriteRenderer> ().color = Color.white;
Debug.Log ("I should be white!");
}
else if (colorSet == false)
{
gameObject.GetComponent<SpriteRenderer> ().color = Color.black;
Debug.Log ("I should be black!");
}
}
【问题讨论】: