Analog Move

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,542
Reaction score
869
First Language
Portuguese - Br
Primarily Uses
RMMV
Anyone knows a way to make the events walk-in diagonal too?
Or to remove only the diagonal for the player?

[EDIT] Also seems that this plugin has some issues with the direction.
When I trigger an event with the player facing left, if in this event I use the move route to change the player direction, the will be face left again, and again...
 
Last edited:

bazrat

Pixel Game Maker MV
Veteran
Joined
Oct 15, 2018
Messages
240
Reaction score
169
First Language
English
Primarily Uses
Other
Anyone knows a way to make the events walk-in diagonal too?
Or to remove only the diagonal for the player?

[EDIT] Also seems that this plugin has some issues with the direction.
When I trigger an event with the player facing left, if in this event I use the move route to change the player direction, the will be face left again, and again...
Yea this plugin will mess up moveroute commands for the player.

For events having diagonal movement have you tried VE plugin? https://victorenginescripts.wordpress.com/rpg-maker-vx-ace/diagonal-movement/ You can have events move diagonal
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,542
Reaction score
869
First Language
Portuguese - Br
Primarily Uses
RMMV
Yea this plugin will mess up moveroute commands for the player.

For events having diagonal movement have you tried VE plugin? https://victorenginescripts.wordpress.com/rpg-maker-vx-ace/diagonal-movement/ You can have events move diagonal
Hi! Thanks a lot @bazrat ! VE diagonal made the events work I'm just a little concerned using two plugins with diagonal... but guess it was the only way. And I have tried it a lot. Thanks!
SuperOrangeMovement.js
SuperOrangeMovementEx.js
AltimitCharacterMovement
Qplus + Qmovement + Qpath
GalvPixelMovement

All of them have a question... one doesn't work with events, other mess too much with move routes... For me that I have the game completed its a question =/

But I manage to make the analog work changing this:
Code:
    Game_AnalogMove.prototype.updateCharacterPosition = function(thisCharacter) {
        thisCharacter.setDirection(this.dir4());
        if (Game_AnalogMove.canMove() && this.isMoving()) {
            thisCharacter.realX = this._nextRealX;
            thisCharacter.realY = this._nextRealY;
            thisCharacter.x = Math.round(thisCharacter.realX);
            thisCharacter.y = Math.round(thisCharacter.realY);
        }
    };
to this:

Code:
    Game_AnalogMove.prototype.updateCharacterPosition = function(thisCharacter) {
        if (Game_AnalogMove.canMove() && this.isMoving()) {
            thisCharacter.realX = this._nextRealX;
            thisCharacter.realY = this._nextRealY;
            thisCharacter.x = Math.round(thisCharacter.realX);
            thisCharacter.y = Math.round(thisCharacter.realY);
        thisCharacter.setDirection(this.dir4());
        }
    };
 

bazrat

Pixel Game Maker MV
Veteran
Joined
Oct 15, 2018
Messages
240
Reaction score
169
First Language
English
Primarily Uses
Other
Hi! Thanks a lot @bazrat ! VE diagonal made the events work I'm just a little concerned using two plugins with diagonal... but guess it was the only way. And I have tried it a lot. Thanks!
SuperOrangeMovement.js
SuperOrangeMovementEx.js
AltimitCharacterMovement
Qplus + Qmovement + Qpath
GalvPixelMovement

All of them have a question... one doesn't work with events, other mess too much with move routes... For me that I have the game completed its a question =/

But I manage to make the analog work changing this:
Code:
    Game_AnalogMove.prototype.updateCharacterPosition = function(thisCharacter) {
        thisCharacter.setDirection(this.dir4());
        if (Game_AnalogMove.canMove() && this.isMoving()) {
            thisCharacter.realX = this._nextRealX;
            thisCharacter.realY = this._nextRealY;
            thisCharacter.x = Math.round(thisCharacter.realX);
            thisCharacter.y = Math.round(thisCharacter.realY);
        }
    };
to this:

Code:
    Game_AnalogMove.prototype.updateCharacterPosition = function(thisCharacter) {
        if (Game_AnalogMove.canMove() && this.isMoving()) {
            thisCharacter.realX = this._nextRealX;
            thisCharacter.realY = this._nextRealY;
            thisCharacter.x = Math.round(thisCharacter.realX);
            thisCharacter.y = Math.round(thisCharacter.realY);
        thisCharacter.setDirection(this.dir4());
        }
    };
wow good work!

edit: do moveroutes work with this plugin now?
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,542
Reaction score
869
First Language
Portuguese - Br
Primarily Uses
RMMV
wow good work!

edit: do move routes work with this plugin now?
@bazrat
Sorry! I miss your edit.
Yeah, they work, but I have to use the plugin commands:
Code:
 *   AnalogMove ON            # アナログムーブ機能有効化
 *   AnalogMove OFF           # アナログムーブ機能無効化
 *   AnalogMove Player ON     # プレイヤーとフォロワーのアナログムーブ有効化
 *   AnalogMove Player OFF    # プレイヤーとフォロワーのアナログムーブ無効化
My game is short and has few move routes for cutscene...
But for a long game, it will be a pain to do that every move route...

BUT!

I've found an updated version of this plugin. That you don't need to fix anything in the code and don't have to use the plugin command for nothing. All move routes seem to work ok.
It does only have an "issue" that I'm trying to get some help here.
 

bazrat

Pixel Game Maker MV
Veteran
Joined
Oct 15, 2018
Messages
240
Reaction score
169
First Language
English
Primarily Uses
Other
@bazrat
Sorry! I miss your edit.
Yeah, they work, but I have to use the plugin commands:
Code:
 *   AnalogMove ON            # アナログムーブ機能有効化
 *   AnalogMove OFF           # アナログムーブ機能無効化
 *   AnalogMove Player ON     # プレイヤーとフォロワーのアナログムーブ有効化
 *   AnalogMove Player OFF    # プレイヤーとフォロワーのアナログムーブ無効化
My game is short and has few move routes for cutscene...
But for a long game, it will be a pain to do that every move route...

BUT!

I've found an updated version of this plugin. That you don't need to fix anything in the code and don't have to use the plugin command for nothing. All move routes seem to work ok.
It does only have an "issue" that I'm trying to get some help here.
Thank you for posting this! I saw your other thread, I hope someone can figure this out, this would be the GOTO pixel movement for RMMV
 

Danielcross

Veteran
Veteran
Joined
Sep 27, 2017
Messages
100
Reaction score
10
First Language
English
Primarily Uses
RMMV
Hello! Has anyone run into an issue where moving diagonally makes NPCs shake/vibrate? Looked through the thread and didn't find anything.
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,542
Reaction score
869
First Language
Portuguese - Br
Primarily Uses
RMMV
Hello! Has anyone run into an issue where moving diagonally makes NPCs shake/vibrate? Looked through the thread and didn't find anything.
Hi!
Yes, I don't see them shaking. I use the 3.15 version. And for diagonal movement, I use VE_DIagonal(put that above the analog move).
 

Danielcross

Veteran
Veteran
Joined
Sep 27, 2017
Messages
100
Reaction score
10
First Language
English
Primarily Uses
RMMV
Hi!
Yes, I don't see them shaking. I use the 3.15 version. And for diagonal movement, I use VE_DIagonal(put that above the analog move).
I think 3.15 has diagonal events built in? They seem to work okay on my end. Do you know how you got the shaking to stop? The base version of 3.15 has events/npcs shake when moving diagonally.
 

Featherbrain

Veteran
Veteran
Joined
Jan 12, 2020
Messages
30
Reaction score
22
First Language
English
Primarily Uses
RMMV
Anyone know how to adjust the distance between followers to accommodate for larger sprite sizes? Altimit Movement plugin has parameters for this, but Analog Move seems superior for my purposes in every other way--less plugin incompatibilities e.g. w/ Yanfly Event Chase, better follower logic, less messy collision, etc.

EDIT: Nevermind, I seem to have figured this out. (It's shockingly easy.) The follower distance is in this section of the code. Just change the "1.0" (both instances of it or followers jitter) to the distance required, e.g. 2.0 or 1.5.

Original code:
Code:
// 目標位置の更新
FollowerMover.prototype.updateTargetPosition = function() {
    var precedingCharacter = this.character().precedingCharacter();
    var preChaPosVec = precedingCharacter.posVec();
    var relPosVec = preChaPosVec.sub2(this._posVec);
    this._tarPosVec = (
        $gamePlayer.areFollowersGathering() ? preChaPosVec :
        relPosVec.len() > 1.0 ? preChaPosVec.sub2(relPosVec.scl(1.0)) :
        null
    );
};
Adjusted for double follower spacing:

Code:
// 目標位置の更新
FollowerMover.prototype.updateTargetPosition = function() {
    var precedingCharacter = this.character().precedingCharacter();
    var preChaPosVec = precedingCharacter.posVec();
    var relPosVec = preChaPosVec.sub2(this._posVec);
    this._tarPosVec = (
        $gamePlayer.areFollowersGathering() ? preChaPosVec :
        relPosVec.len() > 2.0 ? preChaPosVec.sub2(relPosVec.scl(2.0)) :
        null
    );
};
 
Last edited:

cokes1999

Veteran
Veteran
Joined
Jun 17, 2020
Messages
37
Reaction score
1
First Language
English
Primarily Uses
RMMV
Is there a reason why we have to request access to download the plugin? It's been a few days and I haven't been given access..... this is the only free plugin I've encountered in which I have to request access for.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 2)

Latest Threads

Latest Posts

Latest Profile Posts

12 done, 4-5 started. Now that the weekend is over, things will sloooowwwww down again proabably.
when you're completely done with someone's crap lol...
Ami
--- Survival For RPGist Part 3 ---

F.Healer: Here it is,I made the Simple Sandwich
Survivalist
: it's so Delicious!
Chef: Here you Go! My Gourmet Steak.
Survivalist: It's Super Delicious,Too!
F.Mage: I Made it for you!
F.Healer: Uhh...Charcoal?
F.Mage No,It's a Toast!
Chef: Did you Let it in 10 Minutes?
F.Mage: Maybe?

Forum statistics

Threads
103,033
Messages
996,814
Members
134,507
Latest member
juegostudios
Top