Unity C# 农场游戏,列表问题

问题描述 投票:0回答:1

抱歉,如果这个问题看起来很明显,我最近开始使用 C#,我正在尝试创建一个简单的农场游戏。

我有一个播种的“种子”功能(这很好用)。 为了让作物生长,我想我可以创建一个属性为播种时间的对象,然后我可以将其与总时间进行比较,然后改变阶段。

为此,在“Seed”函数中,它调用另一个函数(“CreateObjectSeeded”)传递参数“position”和“timeWhenSeeded” enter image description here

然后我想到我可以创建一个具有属性“TimeInClass”和“PositionInClass”的类,函数“CreateObjectSeeded”可以创建一个具有这些属性的对象。

最后,“CheckTimeCrops”函数会将“CropsPlanted”类中所有对象的时间属性与当前时间进行比较,并根据时间属性调用生长过程的不同阶段。 (我也通过了这个位置,因为它将被用来改变作物的阶段) enter image description here 阶段的决定还没有完成,因为我不断收到错误,10000 只是一个任意值来测试它。 enter image description here 有人可以帮我吗? 非常感谢你,如果这个问题看起来很愚蠢,我很抱歉。

理想情况下,“CheckTimeCrops”函数应该检查从“CropsPlanted”类创建的所有对象的时间属性,并在给定特定条件(例如,如果 currentTime - timeWhenPlanted > 10000,则 Stage2)阶段应该改变。

c# unity3d
1个回答
0
投票

您的问题是 CropsPlanted 是一种类型(如错误所述)。您应该在 CropsGrowth 类中创建一个列表

List<CropsPlanted> crops = new List<CropsPlanted>()
,它保留对 CropsPlanted 对象的引用,并在
CreateObjectSeeded()
中创建对象后,将其添加到列表中,以便在
CheckTimeCrops()
中您可以 foreach
crops
列出并做你需要做的事情

© www.soinside.com 2019 - 2024. All rights reserved.