尝试传递对象引用并将其设置在新脚本/类中。 播放器.cs
我如何正确引用和分配
我相信这是 NullPointer 异常能够引用多个问题的令人讨厌的实例之一。它只给你行号,但它没有给你该行中的哪个引用是空的。NewPlayer
不是空,AchievementList
是。您需要在前面的ShowUI
方法或 PanelUpdate 构造函数中初始化该值。
附言我讨厌空引用异常的非特异性;非常令人沮丧。
您的 PlayerDetails 对象中有一个 null 属性。在调试模式下检查 NewPlayer 对象的属性,您将看到此信息。
即使您在其上使用新的构造函数,也不意味着该属性将被赋予一个值,除非它在构造函数中专门给定一个值。
您还需要显示 PlayerDetails 类的代码,以便给我们一个更好的主意。
也:
PlayerDetails Player = new PlayerDetails(); // Assigning a new value here means nothing
Player = NewPlayer;
您要在第 #1 行创建新的 PlayerDetails 对象,然后在第 #2 行为其分配不同的值。
PlayerDetails Player = NewPlayer;
很好。