今天主要学习如何在物体之间,场景之间传送信息。
目前的问题1:在选择坦克Scene创建一个GameObject recorder用于保存选择的信息。GameObject下加入rec脚本,其中有P1tank,P2tank属性,Scene中有选择重型坦克,轻型坦克的Button。如图
要求点击Player1下面的重型坦克,能改变P1tank的属性为’H’,其他按钮类推。
不正确的思路:在rec中声明一个public GameObject,然后在IDE中指定记录用的GameObject,然后使用gameObject.SendMessage()调用方法,然而报错为SendMessage “方法名” has no receiver,具体原因暂时还不知道。
最终思路:直接用GameObject.Find(“recorder”).SendMessage(“方法名”); 调用其中改变P1tank和P2tank的方法。
相关资料:这里
目前的问题2:将GameObject recorder中的P1tank,P2tank留存到Game游戏场景中。
使用DonDestroyOnLoad()函数,但是貌似编译器中提示已经过时了这个函数?做好以后可以了解一下有没有其他的方法。
代码:
public void goGame()//在外面调用必须声明public
{
Application.LoadLevel("Game");
DontDestroyOnLoad(recorder);
}