Giter Club home page Giter Club logo

fxgl-examples's Introduction

WS2C - FXGL Games on Picade Console

Example Repo

License

Team

Voraussetzungen

Auf dem Entwickler-Laptop

  • Java 17. Auf dem Raspberry Pi wird die Verwendung von JDK 11 empfohlen. Daher verwenden wir diesen auch auf dem Laptop. Hinweis für Mac-Benuter: Die Verwendung von sdkman (s.u.) für die Installation und die Verwaltung von JDKs ist sehr empfehlenswert.

  • IntelliJ IDEA 2022.1.3. Es ist wichtig, diese neueste Version zu verwenden. Am besten via JetBrains Toolbox installieren. Empfehlenswert ist die Verwendung der Ultimate Edition. Studierende erhalten, nach Anmeldung, eine kostenlose Lizenz. Registrieren Sie sich unter https://www.jetbrains.com/student/ mit Ihrer FHNW E-Mail-Adresse. Für die Community-Edition benötigt man keine Lizenz.

  • Git. Als Sourcecode-Repository verwenden wir git.

  • GitHub-Account. Wir werden mit GitHub Classroom arbeiten. Dafür benötigen Sie einen GitHub Account.

  • ssh. Die Verbindung zum Raspberry Pi wird mit ssh hergestellt. Ist normalerweise auf allen Laptops vorinstalliert.

Empfehlung zur Installation des JDK für MAC (UND LINUX)

Für Mac und Linux gibt es ein sehr empfehlenswertes Tool zur Verwaltung unterschiedlicher Software Development Kits: SDKMAN

Insbesondere wenn, wie üblich, mehrere Java JDKs verwendet werden sollen, hilft SDKMAN.

Sie können natürlich auch weiterhin die "normalen" Installationsmöglichkeiten verwenden.

Installation von SDKMAN:

Folgenden Befehl in einem Terminal eingeben:

export SDKMAN_DIR="$HOME/sdkman" && curl -s "https://get.sdkman.io" | bash

Falls Sie SDKMAN bereits früher installiert haben, müssen Sie SDKMAN auf den neuesten Stand bringen:

sdk update

Installation von JDK 17

In einem neuen Terminal-Window diesen Befehl eingeben:

sdk install java 17.0.3-tem

Danach liegt der JDK in ihrer Home-Directory im Folder sdkman/candidates/java. Von dort können Sie es dann in IntelliJ als neuen SDK anlegen und im Projekt verwenden.

Mit:

sdk ls java

können Sie sich auflisten lassen welche anderen JDKs zu Installation zur Verfügung stehen.

Verbindung zum Raspberry Pi herstellen

Der Laptop und der Raspberry Pi müssen das gleiche WLAN verwenden.

Eine einfache Variante dies sicherzustellen ist das Aufsetzen eines Hotspots auf einem Smartphone.

  • ssid: Pi4J-Spot
  • password: MayTheCodeBeWithYou!

Auf diesen Hotspot connected sich der RaspPi automatisch und zeigt die IP-Nummer im Hintergrundbild an.

Den Laptop ebenfalls mit dem Pi4J-Spot verbinden.

In einem Terminal-Window des Laptops:

ssh pi@<ip.number>

z.B. ssh [email protected]

Passwort: crowpi

Build System

Dieses Projekt verwendet Maven, um die verschiedenen Applikationen zu bauen und entweder lokal auf dem Laptop oder auf der Picade Console auszuführen.

Die Artefakte werden dabei auf dem Laptop gebaut, anschliessend auf den Raspberry Pi kopiert und dort gestartet.

Dazu müssen nur wenige Konfigurationen verändert werden.

Einstellungen im pom.xml

  • launcher.class (required): gibt an, welche Applikation gestartet werden soll. Im pom.xml ist bereits eine Liste von Kandidaten enthalten. Man muss nur bei der jeweils gewünschte Applikation die Kommentare entfernen.
  • pi.ipnumber (optional): Die aktuelle IP-Nummer des Raspberry Pi, z.B. 192.168.1.2, wird für SCP/SSH benötigt.

Mit diesen Einstellungen kann die Applikation mittels Maven-Befehl auf dem Raspberry Pi gestartet werden. Besser ist es jedoch, die Run-Configurationen von IntelliJ zu verwenden.

Einstellungen in den Run-Konfigurationen

Im Projekt sind 3 Run-Konfigurationen vordefiniert

  • Run Local startet das Programm, das in launcher.class eingestellt wurde, auf dem Laptop. Wird vor allem während der Game-Entwicklung gebraucht.
  • Run DRM startet das Programm auf dem Raspberry Pi im Direct-Rendering-Mode. Wird gebraucht sobald das Programm ein GUI enthält (sowohl reine JavaFX-Programme als auch FXGL Games).
  • Run X11 startet das Programm auf dem Rasberry Pi im "Normal-Modus". Wird für Programme verwendet, die reine Pi4J-Applikationen sind und kein GUI enthalten.

In Run DRMund Run X11 muss jeweils diese IP-Adresse eingestellt werden. Dazu Edit Configurations wählen.

Edit Configurations ...

Im nun geöffnenten Dialog den Tab Runner öffnen und pi.ipnumber doppelklicken. Danach öffnet sich das Dialogfenster zur Eingabe der IP-Adresse.

Einstellungen für Run Konfigurationen

Pin Nummern der Picade Console

Picade Hat pin numbers

LICENSE

This repository is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.