Как добавить Water Skimming в Sonic 1 — различия между версиями
Quantum (обсуждение | вклад) м |
NeKit (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
{{GuideBy|[[Vladikcomper]]}} | {{GuideBy|[[Vladikcomper]]}} | ||
− | Water Skimming — это способность Соника прыгать по поверхности воды, будучи свернутым в клубочек, если он развил достаточную скорость. Такая приятная способность была добавлена в восьмибитный Sonic 2, в Sonic 3 была похожая способность, но она заключалась в беге по воде. | + | Water Skimming — это способность [[Sonic the Hedgehog|Соника]] прыгать по поверхности воды, будучи свернутым в клубочек, если он развил достаточную скорость. Такая приятная способность была добавлена в восьмибитный Sonic 2, в Sonic 3 была похожая способность, но она заключалась в беге по воде. |
[[Файл:s1_water_skimming.gif]] | [[Файл:s1_water_skimming.gif]] | ||
− | А добавить такую способность довольно легко. | + | А добавить такую способность довольно легко. Найди суброутину Obj_MdJump2, она должна выглядеть примерно так: |
<asm> | <asm> | ||
Строка 17: | Строка 17: | ||
subi.w #$28,$12(a0) | subi.w #$28,$12(a0) | ||
− | + | Дополни ее следующим кодом: | |
move.w $10(a0),d0 | move.w $10(a0),d0 | ||
Строка 34: | Строка 34: | ||
</asm> | </asm> | ||
− | Теперь | + | Теперь скомпилируй РОМ и посмотри новую способность в действии. Самое удачное место для прыжков по воде — это огромная открытая местность в LZ1, почти в самом начале уровня. С помощью прыжков по поверхности воды ты сможешь добраться до противоположной стороны и пройти уровень коротким путем. Раньше это сделать было крайне трудно. |
− | Только чтобы заставить | + | Только чтобы заставить Соника прыгать по воде, надо, разогнавшись, свернуться в клубочек у самого обрыва перед водной поверхностью. Обычным прыжком в воду вы ничего не добьетесь. |
[[Категория:Как сделать...]] | [[Категория:Как сделать...]] |
Версия 15:18, 30 марта 2010
Water Skimming — это способность Соника прыгать по поверхности воды, будучи свернутым в клубочек, если он развил достаточную скорость. Такая приятная способность была добавлена в восьмибитный Sonic 2, в Sonic 3 была похожая способность, но она заключалась в беге по воде.
А добавить такую способность довольно легко. Найди суброутину Obj_MdJump2, она должна выглядеть примерно так:
<asm> Obj01_MdJump2: ; XREF: Obj01_Modes bsr.w Sonic_JumpHeight bsr.w Sonic_ChgJumpDir bsr.w Sonic_LevelBound jsr ObjectFall btst #6,$22(a0) beq.s loc_12EA6 subi.w #$28,$12(a0)
Дополни ее следующим кодом:
move.w $10(a0),d0 cmp.w #0,d0 bgt.s Obj01_MdJump2_Abs neg.w d0
Obj01_MdJump2_Abs: cmp.w #$250,d0 ; if Sonic speed less than $250? blt.s loc_12EA6 ; if yes, branch move.w $C(a0),d0 sub.w ($FFFFF646).w,d0 cmp.w #$F,d0 bgt.s loc_12EA6 subi.w #$90,$12(a0) ; jump out of water </asm>
Теперь скомпилируй РОМ и посмотри новую способность в действии. Самое удачное место для прыжков по воде — это огромная открытая местность в LZ1, почти в самом начале уровня. С помощью прыжков по поверхности воды ты сможешь добраться до противоположной стороны и пройти уровень коротким путем. Раньше это сделать было крайне трудно.
Только чтобы заставить Соника прыгать по воде, надо, разогнавшись, свернуться в клубочек у самого обрыва перед водной поверхностью. Обычным прыжком в воду вы ничего не добьетесь.