植物大战僵尸吧 关注:543,144贴子:4,946,771

整合版制作记录贴

只看楼主收藏回复

想做一个整合各个版本的玩法的版本,基于2058大佬的.net版制作,目前进度如下
1.将安卓/IOS版的更多游戏界面移植入WP版且添加隐藏关卡的入口,添加长城关卡生存模式:

·可在迷你游戏中选择包括隐藏关在内的所有迷你游戏

·可在生存模式中选择五种场地的普通、困难和无尽

·可在益智中选择僵尸公敌和花瓶终结者
·可在快速游戏中选择50个冒险模式关卡

`可在中国馆中选择长城关卡生存模式

2.阳光上线增至99990
3.解锁隐藏卡片,模仿者可模仿隐藏卡片和紫卡,添加长城版的花盆
4.解锁10卡槽
5.部分素材替换成iPad HD的素材



IP属地:广东1楼2023-05-28 22:41回复
    6.长城关卡使用了全明星中万里长城地图的BGM


    应用达人
    应用吧活动,去领取
    活动截止:2100-01-01
    去徽章馆》
    IP属地:广东2楼2023-05-28 22:42
    回复
      果然有源代码就可以为所欲为


      IP属地:河南来自Android客户端3楼2023-05-29 12:44
      回复
        dalao加油


        IP属地:北京来自Android客户端5楼2023-05-29 13:05
        回复
          加油!


          IP属地:四川6楼2023-05-29 14:22
          回复


            IP属地:江苏来自Android客户端7楼2023-05-29 21:58
            回复
              今日进度:
              1.添加全平台的成就以及隐藏成就(部分重复的成就、与对战/结盟/智慧树有关的成就暂时没有添加),目前还没写实现成就的代码,只是先添加了成就列表。


              2.添加灵符僵尸的动画失败了(如图),目前在寻找原因


              应用达人
              应用吧活动,去领取
              活动截止:2100-01-01
              去徽章馆》
              IP属地:广东8楼2023-05-29 23:18
              回复
                终于发现bug出在哪里了。
                整理一下整个过程,最初,由于WP版贴图大小是长城版的3/4,于是,在加载素材时将长城版xml文件的横纵坐标以及图片的长宽都乘上3再除以4,以免贴图大小发生错误,但进入游戏后发现贴图反而更小了,身体的各部位之间也有点缝隙。于是先将这个3/4去掉,选择直接加载长城版的原图片(这里在解包中国元素的函数中定义了两个数组array和array2,分别用于存储缩放后的图片和长城版原图),结果加载原图后发现整个僵尸都错乱了。于是将3/4这个系数乘回去,并重新加载缩放后的图片(这里没有去掉数组array2,而是在这个基础上改的),结果发现变成了小一号的错位,这时候我以为是记错了(也就是认为最开始也是错乱的,但是我记成最开始只是大小有问题了)。这时候我对游戏的动画加载机制以及动画本身了解不多,猜测是游戏同时加载了多个动画(因为灵符僵尸的两个头同时出现了,而一些饰品也有点像死亡前在掉落)。于是今天我简单了解了一下动画文件的组成,首先确定动画本身没问题,然后将其他动画删去,只保留idle动画后,还是有问题。对比WP版和长城版的动画文件(json格式),发现不同的有两点(除了i标签之外),一是WP版会对动画的每一帧的x,y,kx,ky,sx,sy都写上具体的值,而长城版只会在这些值发生改变的时候写上新的值;而是WP版的sx,sy是长城版的大约1.8868倍。我先将长城版气球僵尸的动画文件替换到WP版中,出现了和灵符僵尸一样的问题,然后添加一部分x,y,kx,ky,sx,sy后,也没有任何一帧出现变化(这里记不太清了,应该是这样做的),之后我查找了kx,ky,sx,sy的意义,发现kx,ky代表图像的倾斜程度,顺理成章地想到sx,sy应该就是缩放倍率了,那么僵尸变小的原因就找到了,并据此修改气球僵尸的一部分帧,果然如此。但图片错乱的问题仍然没解决,于是我想复现一下最开始的操作,就是去掉array2,在这个过程中,我发现了问题(如下图,那两行代码是我后来注释掉的),发现这两个图片被重复加载,导致后面的图片都跟着蹿了两位,于是删掉了这两行,问题果然解决了(僵尸还是偏小,但是已经不错乱了)。


                应用达人
                应用吧活动,去领取
                活动截止:2100-01-01
                去徽章馆》
                IP属地:广东9楼2023-05-30 21:17
                回复
                  大佬牛逼


                  IP属地:广东来自Android客户端10楼2023-05-30 21:53
                  回复


                    IP属地:广东11楼2023-05-30 23:26
                    回复
                      今日进度:人工把sx sy转换成放大后的值的话,工作量太大,用python写了个一键转换。不过最后的效果还是不太好,缩放后需要将僵尸的各个部位都整体往下移动,明天再调整一下脚本,让x和y也跟着动一下,今天先做到这里。



                      应用达人
                      应用吧活动,去领取
                      活动截止:2100-01-01
                      去徽章馆》
                      IP属地:广东12楼2023-05-30 23:46
                      回复
                        最开始也按照缩放比例调的坐标,发现不太行,就稍微把x和y的缩放比例调小了一点,看起来不错,除了跳起来的时候腿会和身体分离,明天再调整一下,应该问题不大。接下来移植西游版和无尽版的其他僵尸就轻松了。




                        应用达人
                        应用吧活动,去领取
                        活动截止:2100-01-01
                        去徽章馆》
                        IP属地:广东13楼2023-05-31 00:21
                        回复
                          写了批量将xml文件转换成wp版图片切割的代码的python代码,调整了灵符僵尸的影子以及自身的偏移量。遇到了新问题。无尽版HD的动画文件在Animate中打开会扭曲成一团,而西游版的动画文件替换到游戏中某些身体部位会互换(比如下巴和胳膊互换,但检查了一下Xml文件和json文件都是没问题的,在Animate中显示也是正常的,很奇怪)。西游版的图片缩放也和长城版略有不同,不过这个问题已经解决,目前正在解决前两个问题。


                          如图,身体部分部位发生互换,其中下巴是最明显的,我已经修复过来了,不过修复的方式是将下巴和胳膊的图片解包代码互换,虽然可以解决问题,但不明白这是为什么。

                          如图,这是无尽版HD的动画在Animate中打开后的效果


                          应用达人
                          应用吧活动,去领取
                          活动截止:2100-01-01
                          去徽章馆》
                          IP属地:广东14楼2023-05-31 17:51
                          收起回复
                            大佬回来啦!顶一个


                            IP属地:辽宁15楼2023-05-31 21:23
                            回复
                              刚才为了debug,只添加了白骨精的解包代码,现在将西游BOSS的所有零件都添加了进去,结果白骨精恢复正常了,但黄眉大王又出现了奇怪的动画。



                              应用达人
                              应用吧活动,去领取
                              活动截止:2100-01-01
                              去徽章馆》
                              IP属地:广东16楼2023-05-31 22:21
                              回复