这两天被 “如何根据recorder里保存的坦克信息,去GameScene里实例化坦克” 这个问题卡了好久,做出来以后发现以外的简单。
问题1 NullReferenceException: Object reference not set to an instance of an object
基本两天时间都花在找这个错误的代码上了,最后发现是我用于定位初始化位置的GameObject放的不对。
由于transform.Find()和类似的Find函数只能找到父系中的东西,所以我在Game Scene中定义的定位用GameObject并不能被找到,所以我需要回到TankChoose Scene里的recorder中建立用于定位的GameObject,之后便可解决。
问题2 如何减少冗余
至此,3d坦克大战Demo基本开发完成。但是,在初始化坦克时,我要创建4个坦克模型,用于实例化P1的轻重型坦克,P2的轻重型坦克,按理说,应该只要一个轻型坦克prefab,一个重型坦克prefab就行了,但是这边用了4个,很不利于以后的扩展。
接下来,了解一下有没有什么办法更改创建出来的tank的一些属性啥的,就是,P1P2都用同一个轻型坦克prefab实例化坦克,然后更改其中的一些数据,让P1,P2的摄像机,操作键等区别开来。