Hollywood ist auch als Nur-Player-Version für Android und iOS verfügbar, die es Ihnen erlauben, Ihre Hollywood-Applets auf Smartphones und Tablets auszuführen. Der Hollywood-Player für Android benötigt mindestens Android 4.0 und ist bei Google Play unter dieser URL frei verfügbar: http://play.google.com/store/apps/details?id=com.airsoftsoftwair.hollywood. Leider ist der Hollywood-Player für iOS derzeit nicht im App Store verfügbar, da seine Möglichkeiten mit den App Store-Regeln von Apple in Konflikt geraten.
Hier sind Screenshots des Hollywood-Players für Android (links) und iOS (rechts):
Wenn Sie Ihre Hollywood-Projekte auf Ihrem mobilen Gerät ausführen wollen, müssen Sie diese zuerst als Hollywood-Applet kompilieren, sie auf Ihr Gerät kopieren und sie dann mit dem Hollywood-Player für Ihre mobile Plattform ausführen.
Alternativ gibt es auch ein Add-On namens Hollywood-APK-Compiler, mit dem Sie Ihre Hollywood-Projekte in eigenständige APK-Dateien für Android kompilieren können. Bitte besuchen Sie das Hollywood-Portal für weitere Informationen über den Hollywood-APK-Compiler: https://www.hollywood-mal.de/
Wenn Sie den frei verfügbaren Hollywood-Player nutzen möchten, lesen Sie diese Schritt-für-Schritt-Anleitung, um Ihre Hollywood-Projekte auf Ihr Mobilgerät zu bekommen:
*.hwa
) in der Hollywood-GUI, im Designer oder von der
Kommandozeile aus.
*.hwa
Datei
in das Verzeichnis Hollywood
der SD-Karte auf Ihrem
Android-Gerät. Das Verzeichnis Hollywood
wird automatisch
erstellt, wenn Sie zum ersten Hollywood auf Ihrem Android-Gerät
starten. Wenn es nicht vorhanden ist, erstellen Sie es von Hand.
Es muss im Stammverzeichnis der SD-Karte sein.
*.hwa
in das Dokumentenverzeichnis vom App Hollywood-Player zu kopieren.
Hollywood
-Verzeichnisses
(auf Android) oder innerhalb der APP des Hollywood-Player im
Dokumentverzeichnis (auf iOS). Der Verzeichnisname muss mit
dem Namen Ihres Applets ohne die Dateierweiterung (*.hwa
) identisch
sein. Z.B. wenn Ihr Applet My cool game.hwa
heißt, müssen Sie das Verzeichnis
My cool game
innerhalb des Verzeichnisses Hollywood
oder Dokumentenverzeichnis erstellen.
Alternativ können Sie auf Android auch die Hollywood-Applet
zu einem beliebigen Ort auf der SD-Karte kopieren und starten,
indem Sie einfach die *.hwa
Datei direkt von Ihrem Dateimanager
auswählen. In diesem Fall werden alle externen Dateien vom
Applet aus der Position gesucht werden, in dem sich die *.hwa
Datei befindet. Hollywood wechselt zum Laden der externen Dateien
nicht automatisch in das Unterverzeichnis mit demselben Namen
wie die *.hwa
Datei, wenn sich das Applet außerhalb
des /sdcard/Hollywood
Ordner befindet.
Sie können einige Optionen konfigurieren, indem Sie die Taste "Options" drücken. Den Options-Bildschirm von Android sehen Sie links, den von iOS rechts:
Folgende Optionen stehen zur Verfügung:
Full screen (auto scale):
Full screen (layer scale):
Interpolate:
Hide action bar
Hide status bar:
Hide options menu:
Keep screen on:
No sound:
Siehe Konsolenargumente für detailliertere Informationen zu den oben aufgeführten Optionen.
Die mobilen Versionen von Hollywood haben im Vergleich zu den Desktop-Versionen einige Besonderheiten. Hier ist eine Liste für Android und iOS:
OrientationChange
herausfinden,
wann der Benutzer das Gerät dreht. Siehe InstallEventHandler für Details.
Natürlich gibt es einige Einschränkungen in den mobilen Versionen
von Hollywood. Im Gegensatz zu den Desktop-Versionen von Hollywood
unterstützt die iOS-Version von Hollywood nicht mehrere Displays, sondern
nur ein einziges. Auch können unter iOS Displays keine Menüs verwenden.
Außerdem ist es nicht möglich, den Mauszeiger zu wechseln, da
es typischerweise keine auf Android und iOS gibt. Es ist auch
nicht möglich, transparente BGPics zu verwenden und das Feld
Desktop
wird in der Anweisung @DISPLAY ebenfalls nicht unterstützt.
Hier ist eine Liste mit Befehlen, die nicht in den mobilen Versionen von Hollywood unterstützt werden:
- ActivateDisplay() (nur unter iOS nicht unterstützt) - ChangeDisplayMode() (nur unter iOS nicht unterstützt) - CloseDisplay() (nur unter iOS nicht unterstützt) - CreatePointer() - CreatePort() - DebugPrompt() - FontRequest() - FreePointer() - GetEnv() - GetFileArgument() - GetRawArguments() - HideDisplay() (nur unter iOS nicht unterstützt) - HidePointer() - MovePointer() - OpenDisplay() (nur unter iOS nicht unterstützt) - SelectDisplay() (nur unter iOS nicht unterstützt) - SendMessage() - SetPointer() - SetEnv() - ShowDisplay() (nur unter iOS nicht unterstützt) - ShowPointer() - UnsetEnv() |
Es gibt auch einige Befehle, die exklusiv für die mobilen Versionen von Hollywood verfügbar sind:
- CallJavaMethod() (nur Android) - GetAsset() (nur Android) - HideKeyboard() - ImageRequest() (nur Android) - PerformSelector() (nur iOS) - PermissionRequest() (nur Android) - ShowKeyboard() - ShowToast() - Vibrate() (nur Android) |
Die Android-Version von Hollywood unterstützt auch Hollywood-Plugins.
Sie müssen sie in das Verzeichnis Hollywood/Plugins
auf Ihrer SD-Karte kopieren. Hollywood wird diesen Standort
bei jedem Start scannen und alle Plugins von dort laden. Die
iOS-Version von Hollywood unterstützt derzeit keine Plugins.
Wenn Ihr Skript auf einer mobilen Plattform extrem langsam läuft, müssen Sie Ihre Zeichnungstechnik ändern. Das Auffrischen des Bildschirms kann auf einem mobilen Gerät ziemlich viel Ressourcen in Anspruch nehmen, weshalb Sie versuchen sollten, die Häufigkeit der Bildschirmaktualisierungen zu minimieren. Der beste Weg, dies zu tun, ist das doppelt gepufferte Zeichnen mit den Befehlen BeginDoubleBuffer() und Flip(). Denn viele Zeichnungsoperationen, die nur kleine Bereiche betreffen, verlangsamen die Grafikmodule der mobilen Geräten. So sollten Sie versuchen, so viele Zeichnungsoperationen wie möglich in einem einzigen Aufruf zu kombinieren. Ein Doppelpuffer ist die beste Lösung für dieses Problem. Wenn Sie aus irgendeinem Grund keinen Doppelpuffer verwenden können (z.B. weil Sie Sprites oder Ebenen verwenden), dann kapseln Sie alle Zeichnungsbefehle, die zum Zeichnen eines Einzelbildes benötigt werden, in einem Abschnitt mit den Befehlen BeginRefresh() und EndRefresh(). Dann sollte die Leistung bei mobilen Geräten viel besser werden. Siehe BeginRefresh für Details.