将图像对象与屏幕位置坐标配对

2024-04-29 08:02:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python构建一个游戏。为了跳过细节并直接进入问题,我在屏幕上随机显示了3幅图像

......
position1 = (250,0)
position2 = (0,0)
position3 = (-250,0)

all_combinations = list(itertools.permutations([position1, position2, position3]))
random.shuffle(all_combinations)

for combination in all_combinations:
    image1 = stimuli.Picture('images\image1.png', position=combination[0])
    image2 = stimuli.Picture('images\image2.png', position=combination[1])
    image3 = stimuli.Picture('images\image3.png', position=combination[2])
....

稍后在代码中,我将在屏幕上显示这些图像。玩家必须使用键盘选择一幅图像。如何将每个图像与其屏幕坐标位置配对,因为每次都是随机的?最终的目标是:如果image1在左边,他们按下左边的按钮说“如果image1被选中……请这样做”,但我找不到一种方法来指定哪个图像在左边

谢谢


Tags: 图像屏幕pngpositionallimagespicturecombination
1条回答
网友
1楼 · 发布于 2024-04-29 08:02:43

我不知道如果您只需要shuffle,为什么要使用permutationshuffle

我会洗牌文件名并保持相同的顺序,然后第一个图像会在左边,因为它有最小的x-250

positions = [(-250,0), (0,0), (250,0)]

filenames = ['images\image1.png', 'images\image2.png', 'images\image3.png']
          
random.shuffle(filenames)

images = []

for name, pos in zip(filenames, positions):
    img = stimuli.Picture(name, position=pos)
    images.append( img )
    
left_img  = images[0]
left_pos  = positions[0]
left_name = filenames[0]

center_img  = images[1]
center_pos  = positions[1]
center_name = filenames[1]

right_img  = images[2]
right_pos  = positions[2]
right_name = filenames[2]

相关问题 更多 >