Welcome to MegaZine3

MegaZine3 is a powerful pageflip/flashbook engine, written completely in AS3. The basic engine delivers low level functionality like dynamic page loading, plugins provide enhanced features such as an integrated gallery mode.

 

What is MegaZine3?

MegaZine3 is a pageflip engine. There are many like it, but this one is free (for private use), and open source.

If you wish to use MegaZine3 commercially, please have a look at this page for more information. Of course, donations are always welcome as well. ;-)

So, what's a pageflip engine, then?

A pageflip engine is a small Flash application that generates an interactive book, which can then be flipped through by the user. MegaZine 3 uses a completely dynamic approach, allowing full configuration through external XML files. This makes it easy to set up books even if you do not even own the Flash IDE.

It's so easy...

Although the MegaZine 3 engine is quite powerful, it is really easy to create a basic book. The shortest way to define a book would be like this:

<book plugins="batchpages">
    <chapter pages="path/to/images/page_image[10].jpg"/>
</book>

This would create 10 pages from the images page_image1.jpg through page_image10.jpg. It's that easy!

Normally you will want to define page by page, though, which allows for a lot more flexibility. See the tutorials at the Project Wiki for some examples. A quick example of a more flexible configuration (the equivalent to above, actually, with ellipsis, though):

<book>
    <chapter>
<page>
<img src="path/to/images/page_image1.jpg"/>
</page>
<page>
<img src="path/to/images/page_image2.jpg"/>
</page>
...
</chapter>
</book>

Maybe you guessed it, this already hints in that direction: you can in fact have any number of images (and also SWFs, video, text and more) per page.

Show me!

As the saying goes: pictures say more than words. So without further ado, please have a look at the engine in action and...

View the live demo

A screenshot of the engine demo.

Let's see what this saber can do...

MegaZine3 has a lot of features and is constantly developed to offer even more possibilities. This is a rough compilation of some of the main aims and features of the MegaZine3 engine.

The navigation bar below the pages as well as a page thumbnail.

Simplicity

One of the main goals of MegaZine3 is to provide ease of use - in respect to setting it up, as well as to the end user. MegaZine3 can automatically generate a control bar (via the NavigationBar plugin) that allows jumping to every individual page. It also generates thumbnails for the pages, to make it easier for the user to find a page again, or getting a first impression.

Setting up a book is extremely simple: an intuitive XML structure is used to control the content of a book. There is even a Document Type Definition you can use to validate your files, making it a lot less painful to track down that one missing bracket. Note that this DTD is not necessary to actually use the engine, though, so if you want you can actually remove that <code><!DOCTYPE...></code> line from your book's definition.

Deep Linking

MegaZine3 comes with integrated support for SWFAddress, a JavaScript library allowing to deep link flash movies. This way one can link to pages directly, and even use the browser history to navigate back through the visited pages in the book. This functionality is implemented in the SWFAddress plugin.

The pagination in the navigation bar, extended, showing multiple rows of page buttons.

Navigation Bar

The page navigation part of the mentioned navigation bar is automatically filled with buttons allowing to jump to every page directly. If there are many pages, so that the buttons would not fit into one row multiple rows are generated, and the bar is extended on mouse over. This allow a compact, but complete addressing of all pages. General controls, such as next page or first page are also available via the same plugin. The position and appearance of all those buttons can easily be adjusted via XML files, no changes to the sources needed.

Page Caching

On the topic of "many pages": if the page count exceeds a certain limit (exact value can be set manually, too) not all pages will be loaded into memory at the same time. This means an almost constant and low memory footprint for books with any number of pages (just depends on the currently loaded pages). When turning pages the interval of loaded pages will be updated, unnecessary pages will be unloaded, new pages will be loaded.

A page corner being dragged and the cursor indicating a bent arrow; to the right: the help window.

Usability

As mentioned, MegaZine3 aims to provide ease of use. For the end user this means many small helpers: different cursor images, indicating the cursor is in an area where a page can be dragged (or turned, by clicking), tooltips for every GUI element, as well as an inbuilt help menu, explaining some basic functionality in detail.

Element System

MegaZine3 features a unique element system, making it possible to define any number of elements per page. Default elements include images, flash movies, videos, sound and more. Because MegaZine3 is open source you could even write your own element types, allowing use of internal events (e.g. page visibility).
Having multiple elements per page allows you to create a page from multiple images and even videos in a very easy fashion.

The XML and Internal Linking

The XML structure is very much like the actual structure of a book: an enclosing book element, containing chapters, which in turn contain pages. The pages contain their respective elements. Some settings, such as background color for pages, gets inherited by default. E.g. setting the page color in a chapter makes all pages in that chapter have that color (unless overwritten in a page). Speaking of color: pages may also be transparent - up to any level, meaning any number of pages next to each other.

When setting up images or other elements to navigate to a url when clicked it is possible to also navigate in the book itself, jumping to different pages. To simplify this - making it unnecessary to use page numbers which are prone to change - it is possible to define anchors. Anchors are names for chapters or pages those can be referred to by. This is implemented in the Links plugin, for the actual linking, and the Anchors plugin, for book internal navigation.

Navigation bar with extended language selection list.

Localization

Books generated by MegaZine3 can be easily localized. Not only can the GUI tooltips be set to any language (using language XML files), it is also possible to set titles for elements (e.g. for images) and localize those. It is even possible to bind image, sound and videos to languages (e.g. to localize text in images or speech in videos). The language can be changed any time, per default via a compact menu in the control bar (but also via the API, if you are a programmer).

As all XML files should be UTF-8 encoded, the localizations may be of any language* supported by UTF-8 (e.g. Chinese, Japanese, Russian...). The GUI has already been translated into multiple languages (20 and growing). Localized files can be downloaded from the Project Wiki.

*) an exception are languages which require font's that are rendered right to left, as such fonts are not properly supported by Flash Player 9. Support for this will be added in some future version, using the Text Engine in Flash Player 10.

An image showing the magnification button.

Gallery functionality

Every element may hold an additional url to some image or swf, which will displayed when clicking the element, or clicking the "zoom in" button in the element (will only be displayed if necessary, but can be manually enabled). This functionality is implemented in the Gallery plugin.

The thumbnail view in zoom mode with the buttons for closing it as well as the gallery navigation buttons.

In gallery mode a thumbnail of the image is shown if the image is larger than the area used to display it (which, normally, will be the whole screen, or the area available to the Flash element).

Elements with high resolution variants may be combined into galleries, allowing to switch between zoomed images while staying in zoom mode. If an image is part of a gallery, buttons will be displayed to allow gallery internal navigation.

Some lines of code.

Under the Hood

MegaZine3 is completely written in ActionScript 3, which provides drastically improved performance when compared to ActionScript 2. There are also many small tweaks to improve performance. MegaZine3 is open source, and well documented, so you can use it on a very low level to implement it in your own projects.

The XML data used to generate a book is defined by a Document Type Definition, allowing for validation of the written control file. In some editors (e.g. Dreamweaver) this even allows for an autocomplete functionality, making the process of creating a book even easier.

Furthermore, MegaZine3 features a very simplistic inbuilt console (Console plugin), which can help quite a lot when tracking down issues such as non-loading images.

Convinced?

Then I suggest you try it out and see for yourself and...

Download MegaZine3 now!