じ☆ve冰风 发表于 前天 16:56

DCupu Eventing - Grab Object to Push n Pull

This eventing tutorial works with most RPG Maker.

What is this about?
For RMer who intent to make puzzle-like minigame that involve moving object on map. This tutorial will achieve specific feature for what might be your need.

Feature

[*]Allows player to "grab" object (not carry!) by holding the action button and release to "ungrab".
[*]While grabbing, player may push or pull the object ONLY forward (push) or backward (pull) direction.

Requirement

[*]Basic knowledge of eventing.
[*]Two variables to store player's direction and button direction to be compared.
[*]Difficulty level : Apprentice

How?
Spoiler: Screenshot of the whole event


Full explanation
Beforehand, we store the player's direction and lock it in place. Then we trapped the event inside a loop to simulate "grabbing" as long as the action button are pressed. Otherwise, if we release the button the loop will break and grabbing is canceled. While inside the loop, we checked the directional input and compare that to the player's direction. If it's the same direction, we move it forward (push). If it's opposite direction, we move it backward (pull).

Points to be noted

[*]If you want the event to wait for the player input, it's necessary to trapped the event inside a loop.
[*]Always leave breathing space (at least wait 1 frame) when using loop. I forgot to put wait on screenshot. MV can handle it so it will still works, but other engine might stuck.
[*]Normally, pulling object toward player will cause stuck because the tile is occupied by the player. Making the player move first is the safest decision, but would make it look weird. I make an alternative so they can move at same time relatively by using an exploit which I will explain on what we learn.
What we learn?

[*]Character direction has an integer value of 2, 4, 6, 8, which respectively represent down, left, right, up direction. Making use of this number, we find the opposite direction if both value addition is equal to 10 (2+8 or 4+6).
[*]The exploit I mentioned is about how movement route can be overwritten. Making use of this trait, we make the event to NOT skip its movement, so it will standby until it's able to move considering it may stuck. Later, we overwrite that movement with an empty movement route so that it will forget the last command regardless it's moving or not.

For the last, let me know if there's something you don't understand or what would you like to suggest to improve this tutorial I made.

Stay creative and thank you ~


本贴来自国际rpgmaker官方论坛作者:Kuro DCupu处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/dcupu-eventing-grab-object-to-push-n-pull.122369/
页: [1]
查看完整版本: DCupu Eventing - Grab Object to Push n Pull