Hollywood is also available as a player-only version for Android and iOS which allows you to run your Hollywood applets on smartphones and tablets. The Hollywood Player for Android requires at least Android 4.0 and is freely available on Google Play at this URL: http://play.google.com/store/apps/details?id=com.airsoftsoftwair.hollywood. Unfortunately, the Hollywood Player for iOS is currently not available on the App Store because its capabilities seem to conflict with Apple's App Store rules.
Here are screenshots of the Hollywood Player for Android (left) and iOS (right):
If you want to run your Hollywood projects on your mobile device, you first need to compile them as Hollywood applets, copy them to your device and then run them using the Hollywood Player for your mobile platform.
Alternatively, there is also an add-on named Hollywood APK Compiler which can be used to compile your Hollywood projects into stand-alone APK files for Android. Please visit the Hollywood portal for more information on the Hollywood APK Compiler: http://www.hollywood-mal.com
If you want to use the freely available Hollywood Player, read through this step-by-step guide to get your Hollywood projects onto your mobile device:
*.hwa) in the Hollywood GUI or in Designer or from the command line.
*.hwafile to the directory
Hollywoodon your Android's device SD card. The directory
Hollywoodis automatically created when you first launch Hollywood on your Android device. If it is not there, create it on your own. It has to be in the root directory of your SD card.
*.hwafile to the documents directory of the Hollywood Player app.
Hollywooddirectory (on Android) or inside the Hollywood Player app's documents directory (on iOS). The directory name must be identical to the name of your applet minus the file extension (
*.hwa). For example: If your applet is called
My cool game.hwa, you have to create the directory
My cool gamefor it inside the Hollywood or documents directory.
On Android you can alternatively also copy the Hollywood applet to an arbitrary location on your SD card
and start it by simply running the
*.hwa file directly from your favourite file manager. In
that case all external files referenced by the applet will be loaded from the location relative to
the folder where the
*.hwa file is located. Hollywood will not change the directory to
a subdirectory named after the applet in the case that the applet has been placed outside of the
You can configure some options by touching the "Options" button. The options screen looks like this on Android (left) and iOS (right):
The following options are currently available:
Full screen (auto scale):
Full screen (layer scale):
Hide action bar
Hide status bar:
Hide options menu:
Keep screen on:
See console arguments for more detailed information on the options listed above.
The mobile versions of Hollywood have some special features in comparison to the desktop versions. Here is a list of special features in Hollywood for Android and iOS:
HideKeyboardevent handler to find out when the user closes the virtual keyboard. See InstallEventHandler for details.
OrientationChangeevent handler to find out when the user rotates the device. See InstallEventHandler for details.
Naturally, there are some limitations in the mobile versions of Hollywood. Most prominently,
in contrast to the desktop versions of Hollywood, the iOS version of Hollywood does not support multiple
displays but only a single one. Also on iOS, displays cannot use menus. Furthermore, it is not possible
to change the mouse pointer because there is typically none on Android and iOS. It is also not
possible to use transparent BGPics and the
Desktop tag in @DISPLAY is also unsupported.
Here is a list of commands which are currently not supported by the mobile version of Hollywood:
- ActivateDisplay() (only unsupported on iOS) - ChangeDisplayMode() (only unsupported on iOS) - CloseDisplay() (only unsupported on iOS) - CreatePointer() - CreatePort() - DebugPrompt() - FontRequest() - FreePointer() - GetEnv() - GetFileArgument() - HideDisplay() (only unsupported on iOS) - HidePointer() - MovePointer() - OpenDisplay() (only unsupported on iOS) - SelectDisplay() (only unsupported on iOS) - SendMessage() - SetPointer() - SetEnv() - ShowDisplay() (only unsupported on iOS) - ShowPointer() - UnsetEnv()
There are also some functions that are exclusive to the mobile versions of Hollywood. Here is a list of functions which are only available in the mobile versions of Hollywood:
- CallJavaMethod() (Android only) - GetAsset() (Android only) - HideKeyboard() - ImageRequest() (Android only) - PerformSelector() (iOS only) - PermissionRequest() (Android only) - ShowKeyboard() - ShowToast() - Vibrate() (Android only)
The Android version of Hollywood also supports Hollywood plugins. You have to copy
them to the directory
Hollywood/Plugins on your SD card. Hollywood will scan this
location on every startup and load all plugins from there. The iOS version of Hollywood
currently doesn't support plugins.
If your script runs extremely slow on a mobile platform, then you need to change your drawing technique. Refreshing the screen can be quite expensive on a mobile device which is why you should try to minimize the frequency of screen refreshes. The best way to do this is to use double buffered drawing using BeginDoubleBuffer() and Flip(). Things that will slow down the graphics engine on mobile devices are many drawing operations that affect only small areas. Thus you should try to combine as many drawing operations in just a single call. A double buffer is the best solution for this problem. If you cannot use a double buffer for some reason (for example, because you are using sprites or layers), encapsulate all drawing commands needed for drawing a frame within a BeginRefresh() and EndRefresh() section. Then the performance should be much better on mobile devices. See BeginRefresh for details.