No Revisions Have Been Made To This Page
Can you suggest an edit for this page? Click Here
GameMaker: Studio doesn't actually render most things to the screen directly, but instead it renders them to the application surface. This is essentially a surface, just like any that you can make yourself using the surface functions, and as such can be manipulated with the surface functions, drawn to, sent to shaders and anything else that you would normally do with surface are also applicable to this.
When you run your game, this surface is created the first time that the draw event is called in each new room that you enter, which means that nothing is drawn until that point. However, you can still get the application surface position and resize it in the CreateEvent or any other event without getting any errors and the values used will be relevant to the surface when it is created. The actual sequence of events is as follows:
Draw begin event
Draw end event
The use of this surface means that you can easily create
incredible transitions using shaders, or take the screen and wrap
it around a 3D form, or simply scale a low-res game up to any
resolution screen... The possibilities are endless!
To access this surface, you need to use the built-in global variable application_surface which is explained on the following page:
You also have a couple of specialist functions that are designed only for use with the application surface: