How to global zoom

Mintorossa

Villager
Member
Joined
Jun 12, 2016
Messages
8
Reaction score
3
First Language
Danish
Primarily Uses
For my own project, I wanted to have a 2x zoom when walking on the map, but not in menues, windows or combat. I've used Masked's MBS_Mapzoom plugin until now, but it's buggy and doesn't get updated anymore. I feel like I've searched every single corner of the internet for a solution, but I couldn't find anything about how to go about it. I found SumRndmDde's video on Youtube, and it shows how to zoom in on events and the player, but not the screen as a whole. After messing with his script for a long time, I finally figured it out. Lots of credit to SumRndmDde!


Have all of you maps start an event as a parallel process (or make a common event as a parallel process that is turned on at the start of the game). In this event, do the following script call:


$gameScreen.setZoom(Graphics.width / 2, Graphics.height / 2, 2);


This effectively zooms in the view of the screen by a scale of 2, or whatever you input instead. It can also be used to zoom out if you input a scale that is less than 1. It only zooms in the view of the player walking around the map and shown images. It does not zoom in on menues, combat, or any windows. It does have an undesirable side effect, though:


Because it simply zooms in the screen, the 4 tiles (depending on your zoom scale) along the edge of the map are not shown, though. This can be resolved by making 4 buffer tiles along all edges of the map. The 5th tile from the edge can be treated as the new edge tile. If you don't do this, the player will be able to walk out of the camera.


The only bug I've found is that when entering combat, the screen fully zooms out before then zooming in for combat. This can be fixed by using SumRndmDde's plugin:

In order to fix this, you could use my Custom Battle Intro Plugin (shameless plug).


Simply remove the "ResetZoom" in the Frame 2 Action.


Other than that, it is clean, bug-free, doesn't do anything funky, and doesn't break compatibility with any plugins. Even Galv's camera control works just fine on top of this.


The script can of course be controlled by switches in the same way any event can.


If you want to do a more local zoom on a single event, look at SumRndmDde's video in the link above.


Once again, thanks to SumRndmDde for providing a script that zooms in the screen at all resolutions.
 
Last edited by a moderator:

Skunk

Melody Master
Veteran
Joined
Mar 2, 2013
Messages
1,069
Reaction score
398
First Language
English/Slavic
Primarily Uses
RMMV
I was trying to do something similar to this in my project but I am having a hell of a time trying to find out how to set it to certain coordinates.


Like, you can hold your mouse in a certain area on the map and you can see the x and y. But when you put the x and y into the script call, it zooms into a random part of the map.


Not where I want it to go.
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
You should probably also include an Erase Event command - parallel process events that are meant to run once at the start of each map, that are left running unnecessarily, are a primary cause of lag.
 

Mintorossa

Villager
Member
Joined
Jun 12, 2016
Messages
8
Reaction score
3
First Language
Danish
Primarily Uses
Actually, the zoom is reset every time you open the menu or transfer within the same map. So it's kind of necessary to have it as a parallel process for it to always zoom the map.
 

Skunk

Melody Master
Veteran
Joined
Mar 2, 2013
Messages
1,069
Reaction score
398
First Language
English/Slavic
Primarily Uses
RMMV
I still can't seem to find a way to find what spot on the screen you want to zoom into? does it go by pixels?


there has to be an easier way to find the zoom location of choice.
 

Skunk

Melody Master
Veteran
Joined
Mar 2, 2013
Messages
1,069
Reaction score
398
First Language
English/Slavic
Primarily Uses
RMMV
You should probably also include an Erase Event command - parallel process events that are meant to run once at the start of each map, that are left running unnecessarily, are a primary cause of lag.
Would the erase event be... undone after you get onto a new map every time then?


So it lives it's life while on a map with the par process, and then when you go to a new map it will automatically change with erase event afterwords?


Or would it have to be set up on every map like stated above.. I am really struggling finding the screen location to zoom into :(
 
Last edited by a moderator:

Mintorossa

Villager
Member
Joined
Jun 12, 2016
Messages
8
Reaction score
3
First Language
Danish
Primarily Uses
Yes, it does go by pixels. If you want to zoom in on a specific tile coordinate, look at SumRndmDde's video, which I posted the link to in the first post.
 

Skunk

Melody Master
Veteran
Joined
Mar 2, 2013
Messages
1,069
Reaction score
398
First Language
English/Slavic
Primarily Uses
RMMV
I watched that video when he first posted it but I think there is something very basic that is not clicking in my head.


I am dyslexic so a lot of this can be kind of confusing until i find a way to make it relate to something i DO know lol
 

SumRndmDde

Follower of RNGesus
Veteran
Joined
Jul 30, 2013
Messages
225
Reaction score
423
First Language
English
Primarily Uses
RMMV
Wow, thanks for the shout out! :D


Anyway, here's a few suggestions:


$gameScreen.setZoom(Graphics.width / 2, Graphics.height / 2, 2);


This should set the zoom into the middle, no matter what screen size you have.


Furthermore, the reason the Zoom resets when encountering an Enemy is because the Battle Intro calls the "resetZoom" function at the beginning.


In order to fix this, you could use my Custom Battle Intro Plugin (shameless plug).


Simply remove the "ResetZoom" in the Frame 2 Action.


Feel free to edit some of this info into the original post. :p
 

Mintorossa

Villager
Member
Joined
Jun 12, 2016
Messages
8
Reaction score
3
First Language
Danish
Primarily Uses
You're welcome!


I figured someone had made a plugin like that, it looks awesome! The change to the script is also really cool. 


Thanks for tips, I'll edit the original post to include them.
 

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

Latest Threads

Latest Posts

Latest Profile Posts

Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??

Forum statistics

Threads
105,862
Messages
1,017,050
Members
137,571
Latest member
grr
Top