我可以让我的角色左右跑动.我试着根据用户的输入使我的角色朝某个方向看.如果用户的最后一个命令是"a"或"K_LEFT",那么我想让他朝左看.否则,让他朝着正确的方向看.

def animate_char(self):

        keys = pygame.key.get_pressed()
        is_resting_forward = True
    if self.rect.bottom != 470:
        self.image = self.player_jump

    elif keys[pygame.K_d] or keys[pygame.K_RIGHT]:
        self.hero_index += 0.15
        if self.hero_index >= len(self.images_runf_list):
            self.hero_index = 0
        self.image = self.images_runf_list[int(self.hero_index)]
    elif keys[pygame.K_a] or keys[pygame.K_LEFT]:
        self.hero_index += 0.15
        if self.hero_index >= len(self.images_runb_list):
            self.hero_index = 0
        self.image = self.images_runb_list[int(self.hero_index)]
        is_resting_forward = False

    else:
        if is_resting_forward:
            self.image = self.image_restf
        else:
            self.image = self.image_restb

我没有从这个代码中得到我想要的.每次我举起任何键时,角色都会将值设置为self.image_restf.

推荐答案

is_resting_forward必须是类的属性.根据按下的键设置属性:

def __init__(self, ......):
    # [...]

    self.is_resting_forward = True
def animate_char(self):

    keys = pygame.key.get_pressed()

    if self.rect.bottom != 470:
        self.image = self.player_jump

    elif keys[pygame.K_d] or keys[pygame.K_RIGHT]:
        self.hero_index += 0.15
        if self.hero_index >= len(self.images_runf_list):
            self.hero_index = 0
        self.image = self.images_runf_list[int(self.hero_index)]
        self.is_resting_forward = True

    elif keys[pygame.K_a] or keys[pygame.K_LEFT]:
        self.hero_index += 0.15
        if self.hero_index >= len(self.images_runb_list):
            self.hero_index = 0
        self.image = self.images_runb_list[int(self.hero_index)]
        slef.is_resting_forward = False

    else:
        if self.is_resting_forward:
            self.image = self.image_restf
        else:
            self.image = self.image_restb

Python相关问答推荐

. str.替换pandas.series的方法未按预期工作

将输入管道传输到正在运行的Python脚本中

Vectorize多个头寸的止盈/止盈回溯测试pythonpandas

' osmnx.shortest_track '返回有效源 node 和目标 node 的'无'

如何在polars(pythonapi)中解构嵌套 struct ?

在Python中,从给定范围内的数组中提取索引组列表的更有效方法

Python脚本使用蓝牙运行在Windows 11与raspberry pi4

如何指定列数据类型

matplotlib图中的复杂箭头形状

从源代码显示不同的输出(机器学习)(Python)

如何合并具有相同元素的 torch 矩阵的行?

按条件添加小计列

如何为需要初始化的具体类实现依赖反转和接口分离?

如果不使用. to_list()[0],我如何从一个pandas DataFrame中获取一个值?

Pythonquests.get(Url)返回Colab中的空内容

以极轴表示的行数表达式?

如何将django url参数传递给模板&S url方法?

如何定义一个将类型与接收该类型的参数的可调用进行映射的字典?

极地数据帧:ROLING_SUM向前看

为什么内置的sorted()对于一个包含降序数字的列表来说,如果每个数字连续出现两次,会变慢?