精  
【代码原理】关卡高度改为“480”后在修改也可以不弹错误窗口!
id: 2306569802 | 楼主:960318house | 返回首页
id: 32285337400
1L | 作者:960318house | 发布于 2013-05-04 14:15

一楼已被无视。


id: 32285343430
2L | 作者:960318house | 发布于 2013-05-04 14:16

我们都知道当MW关卡做好后将高度代码设为“480”后,如果在进行修改关卡,你就会发现关卡总是会弹出错误窗口,那如何解决这个问题呢,经过我仔细观察和琢磨,还真让我给发现了一点小线索。。


id: 32285440131
3L | 作者:960318house | 发布于 2013-05-04 14:21

首先,这是我做的一个横向长度代码为“650”,纵向长度为“490”的关卡的代码数据。

650
490
Level 1
Buziol Games
350
5
5
140
0
1
BlocksDataStart
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010202020202020202020202020202020202020300131414141414141414141414141414141414141500131414141414141414141414141414141414141500000000000000000000000000000000000000000000
BlocksEnd
21800000384
21800320384
21800640384
21800960384
21801280384
21801600384
21801920384
21802240384
21802560384
21802880384
21803200384
21803520384
21803840384
21804160384
21804480384
21804800384
21805120384
21805440384
21805760384
21806080384
21900640352
21704480352



id: 32285589268
4L | 作者:960318house | 发布于 2013-05-04 14:26

此关在地图上显示:



id: 32285614850
5L | 作者:960318house | 发布于 2013-05-04 14:27

如果我将它的纵向代码改为“480”在进行修改关卡就会发现......



id: 32285717204
6L | 作者:960318house | 发布于 2013-05-04 14:30

经过仔细对比后发现,当你的关卡做完后将纵向代码改为“480”后,在MW上又进行修改,代码的BlocksDataStart这一栏中最后一行竟然消失了。


id: 32285862256
7L | 作者:960318house | 发布于 2013-05-04 14:34

大家看,这是关卡刚做完后将关卡的纵向长度改为“480”后的样子(也就是和3楼发的代码一模一样):

650
490
Level 1
Buziol Games
350
5
5
140
0
1
BlocksDataStart
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010202020202020202020202020202020202020300131414141414141414141414141414141414141500131414141414141414141414141414141414141500000000000000000000000000000000000000000000
BlocksEnd
21800000384
21800320384
21800640384
21800960384
21801280384
21801600384
21801920384
21802240384
21802560384
21802880384
21803200384
21803520384
21803840384
21804160384
21804480384
21804800384
21805120384
21805440384
21805760384
21806080384
21900640352
21704480352


回复
nmnmoooh 于 2013-05-04 15:11:23 id: 32287181810
这时候高度应该是480吧……
960318house 于 2013-05-04 15:17:23 id: 32287405082
回复 nmnmoooh :嗯,上面写错了。


id: 32285903089
8L | 作者:960318house | 发布于 2013-05-04 14:35

当在MW上再次修改后代码为:
650
490
Level 1
Buziol Games
350
5
5
140
0
1
BlocksDataStart
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000102020202020202020202020202020202020203001314141414141414141414141414141414141415001314141414141414141414141414141414141415
21800000384
21800320384
21800640384
21800960384
21801280384
21801600384
21801920384
21802240384
21802560384
21802880384
21803200384
21803520384
21803840384
21804160384
21804480384
21804800384
21805120384
21805440384
21805760384
21806080384
21900640352
21704480352


回复
960318house 于 2013-05-06 18:57:05 id: 32388018576
这里的第二行那个高度代码也应该写为“480”
960318house 于 2013-05-06 18:57:31 id: 32388036629
回复 960318house :唉~咋那么多写错的地方呢。


id: 32286129093
10L | 作者:960318house | 发布于 2013-05-04 14:42

大家仔细看看,在MW上修改后,BlocksDataStart的
1314141414141414141414141414141414141415001314141414141414141414141414141414141415这一行后面原本还有一行零居然消失了,此时只要在此重新加上这几个零就可以了。。



id: 32286403052
13L | 作者:960318house | 发布于 2013-05-04 14:49

横向长度也一样,在代码上将横向长度代码的“650”改为“640”后,在用MW修改也会弹出错误窗口,同时BlocksDataStart的每一行后面几个零也都不见了,只要在加上这一个零就可以保证运行时不出错了。


id: 32286411910
14L | 作者:960318house | 发布于 2013-05-04 14:49

我做的这个教程有些地方被百度修改了,所以有些地方难免会出现不标准的地方也是正常,大家可以根据我的这个发现作为参考并自己试一试,如果你仔细观察的话就会发现这里面其实还有很多的奥秘。


id: 32286442573
15L | 作者:960318house | 发布于 2013-05-04 14:50

讲解完毕!楼下沙发!

回复
nmnmoooh 于 2013-05-05 11:15:29 id: 32325276286
为什么我第一眼看成了沙发完毕楼下讲解 <_<
960318house 于 2013-05-05 12:39:42 id: 32328921598
回复 nmnmoooh :.....


id: 32286486062
16L | 作者:百步穿杨又飞剑 | 发布于 2013-05-04 14:52

沙发


id: 32287476955
17L | 作者:nmnmoooh | 发布于 2013-05-04 15:19

这个我已经发现了(但是貌似没人在吧里提到过),出现这个问题的原因在于你修改代码之后(纵向高度为480),MW在读取关卡的时候因为关卡尺寸为480=15*32只读取15行blockdata(而原来高度为490=15.3125*32,MW提供冗余,保留了16行代码),保存的时候自然只保存15行代码,但是却会强制把纵向高度恢复为490,这意味着要读取第16行,但第16行在当时是不存在的,所以出现bug

回复
960318house 于 2013-05-04 16:15:58 id: 32289546006
感谢纳秘的补充。


id: 32287705100
18L | 作者:nmnmoooh | 发布于 2013-05-04 15:25

感谢楼主的研究 加精


id: 32300401707
19L | 作者:123568024 | 发布于 2013-05-04 20:27

好帖必顶!!!@zqh——123 对你帮助很大。

回复
zqh——123 于 2013-05-04 20:40:31 id: 32301061372
why
123568024 于 2013-05-06 20:51:08 id: 32393167178
回复 zqh——123 :你做关都是把高度调成480的
960318house 于 2013-05-06 21:29:17 id: 32395028208
回复 960318house :以前是510,后来我发现了这个后就一直用480
123568024 于 2013-05-06 21:38:33 id: 32395489022
回复 960318house :推荐还是用490
960318house 于 2013-05-06 21:42:04 id: 32395665924
回复 123568024 :最下面一行只露出小半格,我觉得不怎么好看。。
123568024 于 2013-05-06 21:44:06 id: 32395768502
回复 960318house :也有许多可以用的设计
960318house 于 2013-05-07 18:42:02 id: 32431088505
回复 123568024 :如果真有某些特殊关卡需要多出一格的话,我一般就用“510”了,因为这样起码最下面一排就不会只露出一半了。
nmnmoooh 于 2013-05-07 21:15:14 id: 32437932039
回复 960318house :490党三个字:懒得改
zqh——123 于 2013-05-08 19:49:48 id: 32476946040
回复 nmnmoooh :hehehe
zqh——123 于 2013-05-08 19:49:53 id: 32476949861
回复 123568024 :yes
nmnmoooh 于 2013-5-8 21:21 id: 32481195755
回复 zqh——123 :口可口可
zqh855 于 2013-5-9 18:33 id: 32516666076
回复 nmnmoooh :终于明白,我以为你口渴还打错字了
123568024 于 2013-5-9 19:41 id: 32519414772
回复 zqh855 :。
nmnmoooh 于 2013-5-9 20:05 id: 32520426582
回复 zqh855 :。


id: 32308421881
20L | 作者:lahztc1 | 发布于 2013-05-04 22:58

为什么我改的时候没有出现这个问题

回复
960318house 于 2013-05-05 07:52:06 id: 32317916948
不会吧。
123568024 于 2013-05-05 13:38:17 id: 32331627848
...


id: 32308445017
21L | 作者:lahztc1 | 发布于 2013-05-04 22:58

哦 是改成480后再修改啊..

回复
960318house 于 2013-05-05 07:52:33 id: 32317927378
Yes!


id: 32319788436
22L | 作者:wyiming6688 | 发布于 2013-05-05 08:59

顶个!

回复
960318house 于 2013-05-05 09:32:57 id: 32320968396
谢顶!


id: 32320419054
23L | 作者:bluesun0505 | 发布于 2013-05-05 09:17

顶!!

回复
960318house 于 2013-05-05 09:33:06 id: 32320973871
谢顶!


id: 32326422187
24L | 作者:毒蘑菇vn | 发布于 2013-05-05 11:41

代码渣路过,顶个<_<

回复
960318house 于 2013-05-05 13:22:04 id: 32330900534
谢顶!