Übung 7: Benutzersteuerung

In dieser Übung hast du die Möglichkeit, das Zeichnen eines Objekts mit einer Funktion zu üben und es dem Benutzer zu ermöglichen, diese zu steuern.

Achtung

In dieser Übung werden keine Sprites verwendet. Schaue dir User Control für Beispiele an, die für diese Übung relevant sind.

Schreibe ein Programm, indem du die folgenden Schritte ausführst:

  • Erstelle einen „Lab 07 - User Control“-Ordner für diese Übung oder verwende einen, der bereits in deinem Projekt eingerichtet ist.

  • Beginne dein Programm mit der folgenden Vorlage:

Vorlage für Übung 7
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
""" Lab 7 - User Control """

import arcade

# --- Constants ---
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600


class MyGame(arcade.Window):
    """ Our Custom Window Class"""

    def __init__(self):
        """ Initializer """

        # Call the parent class initializer
        super().__init__(SCREEN_WIDTH, SCREEN_HEIGHT, "Lab 7 - User Control")

    def on_draw(self):
        arcade.start_render()


def main():
    window = MyGame()
    arcade.run()


main()
  • Erstelle ein Hintergrundbild in der on_draw-Methode. Du darfst, irgendeinen deiner Programmteile verwenden, die du in früheren Übungen geschrieben hast. Füge dazu deinen Programmcode in die Methode on_draw ein. Wenn dein Programmteil Funktionen verwendet, verschiebe diese Funktionen ebenfalls in dieses Programm. Füge sie über der Klasse MyGame ein. Gib diese Übung nicht mit nur einer Farbe für den Hintergrund ab, sonst verlierst du ein paar Punkte.

  • In User Control haben wir über das Bewegen von Grafiken mit der Tastatur, einem Gamecontroller und der Maus gesprochen. Wähle zunächst eine dieser Methoden aus und bringe den Ball in deinem Programm ins Rollen.

  • In den Beispielen haben wir nur einen Ball bewegt. Passe den Programmcode so an, dass er etwas Interessanteres als eine Kugel zeichnet. Du kannst aus den Programmen, die du in früheren Übungen verwendet hast, in denen du mit einer Funktion gezeichnet hast, den Code in die Methode on_draw deiner Klasse verschieben. Lasse dein Objekt jedoch keine einfache Programmzeile sein.

  • Benenne deine Klasse von Ball in etwas um, der darstellt, was du wirklich zeichnest.

  • After you get that object moving, do it again:

    • Pick a different method of control (keyboard, mouse, gamepad.)

    • Create a new class

    • Draw something different with that class, and move it around the screen.

Bemerkung

Stop!

Make sure you have two completely different items.

  • Stelle Sie beim Gamecontroller und der Tastatur sicher, dass sich dein Objekt nicht über die Bildschirmgrenzen hinausbewegt und verloren geht.

  • Add sound effects

    • Füge einen Soundeffekt hinzu, wenn der Benutzer mit der Maustaste klickt.

    • Füge einen anderen Soundeffekt hinzu, wenn der Benutzer gegen den Bildschirmrand stößt. Stelle sicher, dass der Sound nur abgespielt wird, wenn man versucht, über den Bildschirmrand hinauszugehen, und nicht, wenn man nur am Bildschirmrand ist. Dieser Teil wird für nichts benötigt, was mit der Maus gesteuert wird.

That’s it! Commit and turn in your work.