在我的游戏中有一个地图视图,其中包含一个50x50的网格。当你点击瓦片时,你会发送到该瓦片视图和攻击等等。就代码而言,这些“瓦片”之间的唯一区别是瓦片ID,也就是说。网格上的哪个数字。该号码将在init上传递给服务器以处理剩下的事情。加载参数变量Unity
显然,这是瓷砖的唯一区别,创建场景“1”,场景“2”...场景“2500”并调用SceneManager.LoadScene切换到特定瓷砖视图将是错误的。
我可以使用DontDestroyOnLoad();当点击图块来保存场景开关上的图块ID时,但是1)它只接受游戏对象,而不仅仅是一个int变量。2)我不需要/想要在tile视图中保存该变量。所以虽然它可以工作,似乎是矫枉过正。
是否有更好的做法,基本上只是将参数传递给场景加载?
我想你可以创建一个静态类来保存这些信息,如果你不需要它来和gameobjects对话(继承monobehaviour)。 1秒,我会给你一个快速的例子。 – Maakep