This is a small collection of scripts, that allows game developers to add interactive books to their game, where the user can flip the pages using their mouse pointer / finger. The scripts are incredibly easy to use, and allow the developer to add as many books simultaneously as they want.

Currently, the package consists of four easy to use scripts. These are as follows: book_create( page_viewing ); // returns a new book ID book_delete( book_id ); // destroys the book with the given ID book_add_page( book_id, background_id ); // adds a page to the book, using a background's texture book_draw( x, y, width, height, book_id ); // draws a book at position x, y, at width pixels wide, and height pixels tall. This script handles all of the page dragging features.

Example executable:

More scripts are coming soon, which will let the user: - Remove a page from a book - Replace a page with a new background texture - Retrieve the page flipping target direction - Retrieve which page is being dragged (left or right) - Retrieve the horizontal page flipping completion - Retrieve the vertical page flipping completion - Retrieve the complete page flipping completion

Each book is basically a ds_map with a few variables under various keys, and a ds_list of background textures (which holds the pages) under one of the keys.

This asset comes with a working example. In the example, I've created four ds_lists which contain each books x and y coordinates, the book ID at that position, and the books scale. The example uses pages that are 480px wide by 640px tall.

** Please note - you currently have to edit backgrounds to give them the right aspect ratio for the pages.

End User Licence Agreement (EULA).

Version 1.0.0. Published October 22, 2014

Created with GameMaker: Studio v1.4.1398

Age Rating: 4+

Average Rating

Your review

You can only review assets you've bought.


Jeremie D 09 August 2017

does not work ! REFUND

does not work ! REFUND


Fahrezi A 04 October 2016

Kind of works but it has flaws

I need to edit the script first to make it work, and moreover like it had been mentioned before it's not cross-platform for it's using trianglefans..
This isn't really useful for me now..
I hope you could improve this script so that it's applicable on android..


Santiago S 16 June 2016

What platform is this suppose to work on?

I used it way back, No dice! So I let time pass. It won't even run =(
It was an update In the gamemaker engine that killed this flipper.

Error : gml_Script_book_draw(94) : Malformed assignment statement
Error : gml_Script_book_draw(185) : Malformed assignment statement
Error : gml_Script_book_draw(252) : Malformed assignment statement

Tested on HTML5 and Windows.
"book_draw" needs some updates to make it work.
I sent you the code so you can update this asset.
If anyone needs it,


Alexander V 22 December 2015

Not working, could be better

Likewise, trianglefans make this asset not cross-platform. And page shadow would be a nice idea.
Currently doesn't seem to work in 1.4.1690 because of how the variables are assigned (var fx = fx etc.).


Mark A 11 November 2014

Not worth the $15 price tag currently

The basic asset is sound and does what you'd expect but it has several issues:

1) NOT CROSS PLATFORM due to the use of trianglefan. This is NOT mentioned in the description. I wouldn't have bought it if I'd known.
2) Currently it's rather difficult to customise as the code could be tidier and easier to read - for example I see things like this: bx+cx*bw*dx+fx*bw which should have brackets - and it is poorly commented and explained.
4) No shading nor page shadows, which is amiss for an asset of this price.
5) No keyboard or gamepad support. This is another major omission (imho) as I should be able to use button pressed or left/right keys to change pages too.

I can't help but feel that this needs some work to justify the rather steep asking price - the lack of cross-platform support and page shadowing are major omissions and I can only hope that it'll be added in an update.

Package contents

Loading, please wait

What is the issue?

Back to Top