全面战争模拟器吧 关注:21,256贴子:684,558

【mod制作教程】新手篇

只看楼主收藏回复

将些做mod的基础的


IP属地:北京1楼2021-08-22 15:51回复
    没人吗


    IP属地:北京2楼2021-08-22 15:54
    回复
      2026-01-09 00:20:00
      广告
      不感兴趣
      开通SVIP免广告


      IP属地:北京3楼2021-08-22 15:55
      回复
        上回用到了UML中的UPool.AddObject和UPool.GetObject,这次先从这里开始讲


        IP属地:北京4楼2021-08-22 15:57
        回复


          IP属地:山东来自Android客户端5楼2021-08-22 15:59
          回复
            UPool.AddObject这个方法主要是用UnityEngine.Object.Instantiate来复制第二个参数中的GameObject(要复制的物体),再以第一个参数的string(字符)为key(获取这个字典(Dictionary)中的这个元素用到的对应的密码一样的东西)添加到对对应加载的模组创建的字典(Dictionary)中,所以UPool.MyPool就是用来检测对对应的模组有没有创建过一个字典,然后返回一个不是static(静态)的UPool(也就是可以使用AddObject,GetObject之类的不是static的了)。第三个bool值是是否要复制,如果填false的话那么将会直接跳过复制阶段把第二个参数中的GameObject直接添加到字典中然后返回第二个参数中的GameObject,第四个参数暂时不用管,只需要填HideFlags.DontSave就行了


            IP属地:北京6楼2021-08-22 16:04
            回复
              这里做个示范在Init(进游戏加载的方法)中用UPool.MyPool.AddObject()创建一个字典中名为 爆炸1 的GameObject,复制的是UML事先加载好的游戏原版中名为E_ExplosionGrenade的GameObject,第三个bool参数是是否要复制,这里填是,这样就不会直接返回游戏原版中的物体,最后一个就是暂时不用管的。最后将UPool.MyPool.AddObject的返回值赋值(=号)给创建的名为GameObject的物体


              IP属地:北京7楼2021-08-22 16:11
              回复
                没人


                IP属地:北京8楼2021-08-22 16:22
                回复
                  2026-01-09 00:14:00
                  广告
                  不感兴趣
                  开通SVIP免广告


                  IP属地:北京9楼2021-08-22 16:22
                  回复
                    啊啊啊,鸽子更新了


                    IP属地:广东10楼2021-08-22 16:28
                    回复


                      IP属地:日本来自iPhone客户端12楼2021-08-22 19:14
                      回复
                        马克


                        IP属地:四川13楼2021-08-22 20:57
                        回复


                          来自Android客户端15楼2021-08-23 06:57
                          回复
                            可以


                            来自Android客户端16楼2021-08-23 06:57
                            回复