|
本帖最后由 jiangzhengwenjz 于 2015-2-2 11:40 编辑
首先这个帖子不是所谓的教程(我学习改版只是个新人),只是把我最近犯下的一些错误集中在以下简单的例子里体现,作为交流之用,顺便活跃下气氛(寒假了人怎么还是不来啊= =)
先说说我想达成的目的:
如图
1、进入地图时先将3个OW移到图中数字标的位置,并使得0xA的面部朝上
2、主角进入地图,屏幕范围从玩家处移到神兽处,再回到玩家处
3、Gary对主角到来表示惊讶(对话)
4、山男进入屏幕面对Gary对话后离开(OW消失)
5、Gary面向主角,对话后离开(OW消失)
6、0xA将主角带到神兽处(主角跟随)
7、强制对战
达成这些事件看似容易,其实我作为新手(好吧,比RV党强些),还是遇到些问题的。
首先我的想法是利用三段地图头脚本来达成这个剧情(代码不作解释,结合之前的剧情介绍应该极为明确)
1、第二类地图头脚本,就在此地图(主剧情)2、第三类地图头脚本,就在此地图(用于移动OW)- #org @start
- checkflag 0x3022
- if 0x1 goto @snippet1
- movesprite2 0x8 0x1D 0x20
- movesprite2 0x9 0x1E 0x1C
- movesprite2 0xA 0x21 0x22
- spritebehave 0xA 0x7
- setflag 0x3022
- release
- end
- #org @snippet1
- release
- end
复制代码 3、第三类地图头脚本,山洞外地图(用于clearflag)- #org @start
- clearflag 0x3021
- clearflag 0x3023
- clearflag 0x3024
- release
- end
复制代码 这些是修正后的代码,接下来谈谈我在修改中遇到的问题与解决:
1、此处的movesprite2不能误作movesprite,否则OW的移动会延迟,注意其permanent的特性。
2、movesprite2不能够图省力写在第二类里,否则同样OW的移动会延迟。
3、#raw word 0xFFFF 应修正为#raw word 0x0,地图头脚本老生常谈的问题了,这个不是我遇到的,只是再次强调。
4、屏幕移动脚本需加入2个special使用。
5、(重中之重)OW不可移动到离屏幕中心过远,否则直接无视脚本。
6、(tip)可以用spritebehave,不要总是生硬地用applymovement。
以上,欢迎大家前来讨论,顺便问问是不是有必要建一个改版讨论楼呢?
==========
第二日更新:
如需移植此类脚本勿用楼主使用的flag,可能造成bug(楼主参照的Hackmew的数据有误),具体flag范围请参照karatekid的帖子,感谢Ta大指正。 |
|