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.
*.hwa
file to the directory Hollywood
on your Android's device SD card. The
directory Hollywood
is 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.
*.hwa
file to the documents directory
of the Hollywood Player app.
Hollywood
directory (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 game
for 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
/sdcard/Hollywood
folder.
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):
Interpolate:
Hide action bar
Hide status bar:
Hide options menu:
Keep screen on:
No sound:
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:
HideKeyboard
event handler to find out when the
user closes the virtual keyboard. See InstallEventHandler for details.
OrientationChange
event 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() - GetRawArguments() - 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.