Seite anzeigenÄltere VersionenLinks hierherNach oben Diese Seite ist nicht editierbar. Sie können den Quelltext sehen, jedoch nicht verändern. Kontaktieren Sie den Administrator, wenn Sie glauben, dass hier ein Fehler vorliegt. Das untenstehende Programm kann man per Doppelklick kopieren und dann in Visual Studio Code einfügen. <sxh python> import arcade SPRITE_SCALING = 0.5 SCREEN_WIDTH = 800 SCREEN_HEIGHT = 600 SCREEN_TITLE = "Move Sprite with Keyboard Example" MOVEMENT_SPEED = 5 class Player(arcade.Sprite): def update(self): # Move player. # Remove these lines if physics engine is moving player. self.center_x += self.change_x self.center_y += self.change_y # Check for out-of-bounds if self.left < 0: self.left = 0 elif self.right > SCREEN_WIDTH - 1: self.right = SCREEN_WIDTH - 1 if self.bottom < 0: self.bottom = 0 elif self.top > SCREEN_HEIGHT - 1: self.top = SCREEN_HEIGHT - 1 class MyGame(arcade.Window): def __init__(self, width, height, title): # Call the parent class initializer super().__init__(width, height, title) # Variables that will hold sprite lists self.player_list = None # Set up the player info self.player_sprite = None # Set the background color arcade.set_background_color(arcade.color.AMAZON) def setup(self): """ Set up the game and initialize the variables. """ # Sprite lists self.player_list = arcade.SpriteList() # Set up the player self.player_sprite = Player(":resources:images/animated_characters/female_person/" "femalePerson_idle.png", SPRITE_SCALING) self.player_sprite.center_x = 50 self.player_sprite.center_y = 50 self.player_list.append(self.player_sprite) def on_draw(self): # This command has to happen before we start drawing self.clear() # Draw all the sprites. self.player_list.draw() def on_update(self, delta_time): # Move the player self.player_list.update() def on_key_press(self, key, modifiers): # If the player presses a key, update the speed if key == arcade.key.UP: self.player_sprite.change_y = MOVEMENT_SPEED elif key == arcade.key.DOWN: self.player_sprite.change_y = -MOVEMENT_SPEED elif key == arcade.key.LEFT: self.player_sprite.change_x = -MOVEMENT_SPEED elif key == arcade.key.RIGHT: self.player_sprite.change_x = MOVEMENT_SPEED def on_key_release(self, key, modifiers): """Called when the user releases a key. """ if key == arcade.key.UP or key == arcade.key.DOWN: self.player_sprite.change_y = 0 elif key == arcade.key.LEFT or key == arcade.key.RIGHT: self.player_sprite.change_x = 0 def main(): """ Main function """ window = MyGame(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE) window.setup() arcade.run() if __name__ == "__main__": main() </sxh> ef/testprogramm.txt Zuletzt geändert: 2022/11/21 15:54von lehmannr