

If the screen buffer cannot be preserved, devise a replacement. * Use a surface as an alternative screen buffer So you might want a more technically strenuous solution. But, of course, losing the use of views constrains you to a single-screen room, unless you feel apt to re-implementing scrolling and such on your own terms. The main advantage of this code is that it works in Lite and Pro versions, and, miraculously, even works in the HTML5 engine of GM Studio. On the first frame of the room, the background can be drawn. So if you eliminate these, the buffer's contents will persist. What causes the buffer to be obliterated in each frame is the presence of viewports, and the drawing of backgrounds. * Don't have any views, and have a static background So, here are some ways of allowing the previous frame to persist: * The buffer is refreshed to the screen, or the viewports if views are enabled. * All instances and tiles are drawn, in descending order of depth. * If there is a background image, it is drawn over the buffer. then in your step event you could do something like, if ButtonSubImage 5 ButtonSubImage +.

* If the background color is visible, it is drawn over the entire buffer. For example, in the Create event make a variable that represents the subimage you want shown. * If viewports are enabled, the buffer is blanked.

* First, the screen's buffer still possesses the screen image from the previous frame. Let's consider the drawing sequence of Game Maker 6+ : Well, Game Maker, at least from version 6 onward, is not set up to easily permit this kind of nonsense. You wish to forgo the bounds of the typical behaviour of a game engine, and make your game's moving elements leave conspicuous trails as they animate - that is, to prevent the screen from refreshing after each frame, and repeatedly draw the sprites onto the same canvas.
