【问题标题】:Python arcade; how to add enemies蟒蛇街机;如何添加敌人
【发布时间】:2019-05-17 08:28:19
【问题描述】:

所以我在运行程序时收到此错误消息。

Traceback(最近一次调用最后一次): 文件“C:\Users\GUESS\OneDrive\Desktop\Computer Science\Game\Changable.py”,第 229 行,在 mainWindow.setup() 文件“C:\Users\GUESS\OneDrive\Desktop\Computer Science\Game\Changable.py”,第 190 行,在设置中 self.enemy_list.append() AttributeError: 'NoneType' 对象没有属性 'append'

在输入敌人之前它运行良好。任何反馈表示赞赏。我正在使用 python 街机/get-pip.py。我尝试使用 http://arcade.academy/ 并从那里获得了一些我的代码,但它似乎仍然无法正常工作

这是我的代码:

### Samuel Ball ###

import arcade


SCALING = 0.5
SPRITE_NATIVE_SIZE = 128
SPRITE_SIZE = int(SPRITE_NATIVE_SIZE * SCALING)

SCREEN_WIDTH = 1024
SCREEN_HEIGHT = 768

# How many pixels to keep as a minimum margin between the character
# and the edge of the screen.
VIEWPORT_MARGIN = 40
RIGHT_MARGIN = 150

#Physics
MOVEMENT_SPEED = 5
JUMP_SPEED = 14
GRAVITY = 0.5

sceneTiles = [
    [  2,  2,  2, 00, 00, 00, 00, 00, 00, 00, 00,  5,  5,  5,  2 ], #Bottom Row
    [  2,  2,  2, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,  2,  2 ],
    [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,  2,  2 ],
    [ 00, 00, 00,  1, 00, 00, 00, 00, 00, 00, 00, 00,  3,  2,  4 ],
    [ 00, 00, 00, 00, 00,  1, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
    [ 00, 00, 00, 00, 00, 00, 00,  1, 00, 00, 00, 00, 00, 00, 00 ],
    [ 00, 00, 00, 00, 00, 00, 00, 00, 00,  1, 00, 00, 00, 00, 00 ],
    [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
    [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,  3,  2,  4 ],
    [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
    [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],  #Top Row
    ]

decorativeTiles = [
    [ 00, 00, 00,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3 ], #Bottom Row
    [ 00, 00,  7,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4 ],
    [  6, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
    [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
    [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
    [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
    [  1, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
    [ 00, 00,  2, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
    [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
    [  2, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
    [ 00, 00,  1, 00,  2, 00,  1, 00,  2, 00,  1,  0,  2, 00,  1 ],  #Top Row
    ]


class MyGameWindow(arcade.Window):
    allSpritesList = arcade.SpriteList()
    wallList = arcade.SpriteList()
    player = arcade.AnimatedWalkingSprite()

    def __init__(self, width, height):
        super().__init__(width, height)
        #arcade.set_background_color([101, 216, 255])
        arcade.set_background_color(arcade.color.AERO_BLUE)


        # set up player
        self.score = 0
        self.player_sprite = None
        self.physics_engine = None
        self.view_left = 0
        self.view_bottom = 0
        self.game_over = False

    def on_draw(self):
        arcade.start_render()
        self.allSpritesList.draw()
        self.wall_list = arcade.SpriteList()
        self.enemy_list = arcade.SpriteList()
        self.player_list = arcade.SpriteList()

    def setup(self):
         # sprite list
        self.wall_list = None
        self.enemy_list = None
        self.player_list = None


        leftPos = 0
        bottomPos = 0
        for row in sceneTiles:
            for counter in range(0, len(row)):
                if row[counter] > 0:
                    if row[counter] == 1:
                        wall = arcade.Sprite("images/tiles/box.png", SCALING)
                    elif row[counter] == 2:
                        wall = arcade.Sprite("images/tiles/grass.png", SCALING)
                    elif row[counter] == 3:
                        wall = arcade.Sprite("images/tiles/grassCliffLeft.png", SCALING)
                    elif row[counter] == 4:
                        wall = arcade.Sprite("images/tiles/grassCliffRight.png", SCALING)
                    wall.bottom = bottomPos
                    wall.left = leftPos
                    self.wallList.append(wall)
                    self.allSpritesList.append(wall)
                else:
                    wall = arcade.Sprite("images/tiles/grassCenter.png", SCALING)
                leftPos = leftPos + wall.width
            bottomPos = bottomPos + wall.height
            leftPos = 0

        leftPos = 0
        bottomPos = 0
        for row in decorativeTiles:
            for counter in range(0, len(row)):
                if row[counter] > 0:
                    if row[counter] == 1:
                        dec = arcade.Sprite("images/items/cloud1.png", SCALING)
                    elif row[counter] == 2:
                        dec = arcade.Sprite("images/items/cloud2.png", SCALING)
                    elif row[counter] == 3:
                        dec = arcade.Sprite("images/tiles/liquidWater.png", SCALING)
                    elif row[counter] == 4:
                        dec = arcade.Sprite("images/tiles/liquidWaterTop_mid.png", SCALING)
                    elif row[counter] == 5:
                        dec = arcade.Sprite("images/tiles/fence.png", SCALING)
                    elif row[counter] == 6:
                        dec = arcade.Sprite("images/tiles/signRight.png", SCALING)
                    elif row[counter] == 7:
                        dec = arcade.Sprite("images/items/mushroomRed.png", SCALING)
                    dec.bottom = bottomPos
                    dec.left = leftPos
                    self.allSpritesList.append(dec)
                else:
                    dec = arcade.Sprite("images/tiles/grassCenter.png", SCALING)
                leftPos = leftPos + dec.width
            bottomPos = bottomPos + dec.width
            leftPos = 0


        self.player.stand_right_textures = []
        self.player.stand_right_textures.append(arcade.load_texture("images/player/p1_stand.png", scale=SCALING))
        self.player.stand_left_textures = []
        self.player.stand_left_textures.append(arcade.load_texture("images/player/p1_stand.png", scale=SCALING, mirrored=True))

        self.player.walk_right_textures = []
        self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk01.png", scale=SCALING))
        self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk02.png", scale=SCALING))                                      
        self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk03.png", scale=SCALING))
        self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk03.png", scale=SCALING))
        self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk04.png", scale=SCALING))                                       
        self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk05.png", scale=SCALING))
        self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk06.png", scale=SCALING))
        self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk07.png", scale=SCALING))
        self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk08.png", scale=SCALING))
        self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk09.png", scale=SCALING))
        self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk10.png", scale=SCALING))
        self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk11.png", scale=SCALING))

        self.player.walk_left_textures = []
        self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk01.png", scale=SCALING, mirrored=True))                                       
        self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk02.png", scale=SCALING, mirrored=True))
        self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk03.png", scale=SCALING, mirrored=True))
        self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk04.png", scale=SCALING, mirrored=True))    
        self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk05.png", scale=SCALING, mirrored=True))
        self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk06.png", scale=SCALING, mirrored=True))
        self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk07.png", scale=SCALING, mirrored=True))
        self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk08.png", scale=SCALING, mirrored=True))
        self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk09.png", scale=SCALING, mirrored=True))
        self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk10.png", scale=SCALING, mirrored=True))
        self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk11.png", scale=SCALING, mirrored=True))

        self.player.walk_up_textures = []
        self.player.walk_up_textures.append(arcade.load_texture("images/player/p1_jump.png", scale=SCALING))
        self.player.walk_down_textures = []
        self.player.walk_down_textures.append(arcade.load_texture("images/player/p1_stand.png", scale=SCALING))

        # Starting position of the player
        self.player.texture_change_distance = 5
        self.player.center_x = 30
        self.player.center_y = SCREEN_HEIGHT // 2

        self.physicsEngine = arcade.PhysicsEnginePlatformer(self.player, self.wallList, gravity_constant=GRAVITY)

          # -- Draw an enemy on the ground
        enemy = arcade.Sprite("images/enemies/blockerMad.png", SCALING)


        enemy.bottom = SPRITE_SIZE
        enemy.left = SPRITE_SIZE * 2

        # Set enemy initial speed
        enemy.change_x = 2
        self.enemy_list.append()

        # -- Draw a enemy on the platform
        enemy = arcade.Sprite("images/enemies/blockerMad.png", SCALING)

        enemy.bottom = SPRITE_SIZE * 4
        enemy.left = SPRITE_SIZE * 4

        # Set boundaries on the left/right the enemy can't cross
        enemy.boundary_right = SPRITE_SIZE * 8
        enemy.boundary_left = SPRITE_SIZE * 3
        enemy.change_x = 2
        self.enemy_list.append()


    def update(self, delta_tie):
        self.player.update_animation()
        self.physicsEngine.update()

    def on_key_press(self, key, modifiers):
        if key == arcade.key.UP or key == arcade.key.SPACE:
            if self.physicsEngine.can_jump():
                self.player.change_y = MOVEMENT_SPEED * 3
        elif key == arcade.key.DOWN:
            self.player.change_y = -MOVEMENT_SPEED
        elif key == arcade.key.LEFT:
            self.player.change_x = -MOVEMENT_SPEED
        elif key == arcade.key.RIGHT:
            self.player.change_x = MOVEMENT_SPEED

    def on_key_release(self, key, modifiers):
        if key == arcade.key.UP or key == arcade.key.DOWN:
            self.player.change_y = 0
        elif key == arcade.key.LEFT or key == arcade.key.RIGHT:
            self.player.change_x = 0



mainWindow = MyGameWindow(SCREEN_WIDTH, SCREEN_HEIGHT)
mainWindow.setup()
arcade.run()

【问题讨论】:

    标签: python-3.x arcade


    【解决方案1】:

    全部排序。任何人都想要的代码...

    ### Samuel Ball ###
    
    import arcade
    
    #Constants for game window
    SCALING = 1
    SPRITE_NATIVE_SIZE = 128
    SPRITE_SIZE = int(SPRITE_NATIVE_SIZE * SCALING)
    
    SCREEN_WIDTH = 1024
    SCREEN_HEIGHT = 768
    
    # How many pixels to keep as a minimum margin between the character
    # and the edge of the screen.
    VIEWPORT_MARGIN = 40
    RIGHT_MARGIN = 150
    
    #Physics
    MOVEMENT_SPEED = 5
    JUMP_SPEED = 14
    GRAVITY = 0.6
    
    
    # 1 = box, 2 = grassMid, 3 = grassCliffLeft, 4 = grassCliffRight, 5 =grassCenter
    sceneTiles = [
        [  2,  2,  2, 00, 00, 00, 00, 00, 00, 00, 00,  5,  5,  5,  2 ], #Bottom Row
        [  2,  2,  2, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,  2,  2 ],
        [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,  2,  2 ],
        [ 00, 00, 00,  1, 00, 00, 00, 00, 00, 00, 00, 00,  3,  2,  4 ],
        [ 00, 00, 00, 00, 00,  1, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
        [ 00, 00, 00, 00, 00, 00, 00,  1, 00, 00, 00, 00, 00, 00, 00 ],
        [ 00, 00, 00, 00, 00, 00, 00, 00, 00,  1, 00, 00, 00, 00, 00 ],
        [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
        [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,  3,  2,  4 ],
        [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
        [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],  #Top Row
        ]
    
    # 1 = cloud1 2 = cloud2 3 = liquidWater 4 = liquidWaterTop_mid 5 = fence 6 = signRight 7 = mushroomRed
    decorativeTiles = [
        [ 00, 00, 00,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3 ], #Bottom Row
        [ 00, 00,  7,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4 ],
        [  6, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
        [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
        [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
        [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
        [  1, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
        [ 00, 00,  2, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
        [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
        [  2, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ],
        [ 00, 00,  1, 00,  2, 00,  1, 00,  2, 00,  1,  0,  2, 00,  1 ],  #Top Row
        ]
    
    
    # Set up sub class of arcade.window    
    class MyGameWindow(arcade.Window):
        allSpritesList = arcade.SpriteList()
        wallList = arcade.SpriteList()
        player = arcade.AnimatedWalkingSprite()
        enemy = arcade.SpriteList()
    
        def __init__(self, width, height):
            super().__init__(width, height)
            #arcade.set_background_color([101, 216, 255])
            arcade.set_background_color(arcade.color.AERO_BLUE)
    
    
        def on_draw(self):
            arcade.start_render()
            self.allSpritesList.draw()
            self.enemy.draw()
            self.player.draw()
    
        def setup(self):
    
    
    
    
            leftPos = 0
            bottomPos = 0
            for row in sceneTiles:
                for counter in range(0, len(row)):
                    if row[counter] > 0:
                        if row[counter] == 1:
                            wall = arcade.Sprite("images/tiles/box.png", SCALING)
                        elif row[counter] == 2:
                            wall = arcade.Sprite("images/tiles/grass.png", SCALING)
                        elif row[counter] == 3:
                            wall = arcade.Sprite("images/tiles/grassCliffLeft.png", SCALING)
                        elif row[counter] == 4:
                            wall = arcade.Sprite("images/tiles/grassCliffRight.png", SCALING)
                        wall.bottom = bottomPos
                        wall.left = leftPos
                        self.wallList.append(wall)
                        self.allSpritesList.append(wall)
                    else:
                        wall = arcade.Sprite("images/tiles/grassCenter.png", SCALING)
                    leftPos = leftPos + wall.width
                bottomPos = bottomPos + wall.height
                leftPos = 0
    
            leftPos = 0
            bottomPos = 0
            for row in decorativeTiles:
                for counter in range(0, len(row)):
                    if row[counter] > 0:
                        if row[counter] == 1:
                            dec = arcade.Sprite("images/items/cloud1.png", SCALING)
                        elif row[counter] == 2:
                            dec = arcade.Sprite("images/items/cloud2.png", SCALING)
                        elif row[counter] == 3:
                            dec = arcade.Sprite("images/tiles/liquidWater.png", SCALING)
                        elif row[counter] == 4:
                            dec = arcade.Sprite("images/tiles/liquidWaterTop_mid.png", SCALING)
                        elif row[counter] == 5:
                            dec = arcade.Sprite("images/tiles/fence.png", SCALING)
                        elif row[counter] == 6:
                            dec = arcade.Sprite("images/tiles/signRight.png", SCALING)
                        elif row[counter] == 7:
                            dec = arcade.Sprite("images/items/mushroomRed.png", SCALING)
                        dec.bottom = bottomPos
                        dec.left = leftPos
                        self.allSpritesList.append(dec)
                    else:
                        dec = arcade.Sprite("images/tiles/grassCenter.png", SCALING)
                    leftPos = leftPos + dec.width
                bottomPos = bottomPos + dec.width
                leftPos = 0
    
    
            self.player.stand_right_textures = []
            self.player.stand_right_textures.append(arcade.load_texture("images/player/p1_stand.png", scale=SCALING))
            self.player.stand_left_textures = []
            self.player.stand_left_textures.append(arcade.load_texture("images/player/p1_stand.png", scale=SCALING, mirrored=True))
    
            self.player.walk_right_textures = []
            self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk01.png", scale=SCALING))
            self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk02.png", scale=SCALING))                                      
            self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk03.png", scale=SCALING))
            self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk03.png", scale=SCALING))
            self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk04.png", scale=SCALING))                                       
            self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk05.png", scale=SCALING))
            self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk06.png", scale=SCALING))
            self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk07.png", scale=SCALING))
            self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk08.png", scale=SCALING))
            self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk09.png", scale=SCALING))
            self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk10.png", scale=SCALING))
            self.player.walk_right_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk11.png", scale=SCALING))
    
            self.player.walk_left_textures = []
            self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk01.png", scale=SCALING, mirrored=True))                                       
            self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk02.png", scale=SCALING, mirrored=True))
            self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk03.png", scale=SCALING, mirrored=True))
            self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk04.png", scale=SCALING, mirrored=True))    
            self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk05.png", scale=SCALING, mirrored=True))
            self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk06.png", scale=SCALING, mirrored=True))
            self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk07.png", scale=SCALING, mirrored=True))
            self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk08.png", scale=SCALING, mirrored=True))
            self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk09.png", scale=SCALING, mirrored=True))
            self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk10.png", scale=SCALING, mirrored=True))
            self.player.walk_left_textures.append(arcade.load_texture("images/player/p1_walk/PNG/p1_walk11.png", scale=SCALING, mirrored=True))
    
            self.player.walk_up_textures = []
            self.player.walk_up_textures.append(arcade.load_texture("images/player/p1_jump.png", scale=SCALING))
            self.player.walk_down_textures = []
            self.player.walk_down_textures.append(arcade.load_texture("images/player/p1_stand.png", scale=SCALING))
    
            # Starting position of the player
            self.player.texture_change_distance = 5
            self.player.center_x = 30
            self.player.center_y = SCREEN_HEIGHT // 2
    
            self.physicsEngine = arcade.PhysicsEnginePlatformer(self.player, self.wallList, gravity_constant=GRAVITY)
    
            # Draw an enemy on the ground
            enemy = arcade.Sprite("images/enemies/blockerMad.png", SCALING)
    
    
            enemy.bottom = SPRITE_SIZE
            enemy.left = SPRITE_SIZE * 2
    
            # Set enemy initial speed
            enemy.change_x = 4
            self.enemy.append(enemy)
    
            # -- Draw a enemy on the platform
            enemy = arcade.Sprite("images/enemies/blockerMad.png", SCALING)
    
            enemy.bottom = SPRITE_SIZE * 4
            enemy.left = SPRITE_SIZE * 4
    
            # Set boundaries on the left/right the enemy can't cross
            enemy.boundary_right = SPRITE_SIZE * 8
            enemy.boundary_left = SPRITE_SIZE * 3
            enemy.change_x = 4
            self.enemy.append(enemy)
    
    
        def update(self, delta_tie):
            self.player.update_animation()
            self.physicsEngine.update()
    
        def on_key_press(self, key, modifiers):
            if key == arcade.key.UP or key == arcade.key.SPACE:
                if self.physicsEngine.can_jump():
                    self.player.change_y = MOVEMENT_SPEED * 3
            elif key == arcade.key.DOWN:
                self.player.change_y = -MOVEMENT_SPEED
            elif key == arcade.key.LEFT:
                self.player.change_x = -MOVEMENT_SPEED
            elif key == arcade.key.RIGHT:
                self.player.change_x = MOVEMENT_SPEED
    
        def on_key_release(self, key, modifiers):
            if key == arcade.key.UP or key == arcade.key.DOWN:
                self.player.change_y = 0
            elif key == arcade.key.LEFT or key == arcade.key.RIGHT:
                self.player.change_x = 0
    
    
    
    mainWindow = MyGameWindow(SCREEN_WIDTH, SCREEN_HEIGHT)
    mainWindow.setup()
    arcade.run()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-25
      • 2022-11-19
      • 2014-02-07
      • 1970-01-01
      • 1970-01-01
      • 2010-10-27
      • 1970-01-01
      相关资源
      最近更新 更多