Python 在同一方向上以四个为一组移动矩形
我做了一些矩形,它们都朝着同一个方向(向左)移动。当第一个矩形经过一定量的提升时,我制作了一个新的矩形,这个过程没有结束 我想做一组矩形。因此,当制作四个矩形时,程序必须暂停制作矩形,但是已经存在的矩形必须继续移动,并且在一段时间后,程序必须再制作四个矩形 有人能帮我吗Python 在同一方向上以四个为一组移动矩形,python,pygame,Python,Pygame,我做了一些矩形,它们都朝着同一个方向(向左)移动。当第一个矩形经过一定量的提升时,我制作了一个新的矩形,这个过程没有结束 我想做一组矩形。因此,当制作四个矩形时,程序必须暂停制作矩形,但是已经存在的矩形必须继续移动,并且在一段时间后,程序必须再制作四个矩形 有人能帮我吗 import pygame, sys, time, random import tkinter as tk import numpy as np from pygame.locals import * # box-size b
import pygame, sys, time, random
import tkinter as tk
import numpy as np
from pygame.locals import *
# box-size
bh = 30
bw = 30
# box-position
xb = 1355
yb = 663
### Function to generate different boxes
def random_box():
box = [GREEN,PINK,BLUE]
random.shuffle(box)
return box
while(true):
w = random_box()
CB = random.choice(w)
CB = [CB]
boxpos = [[xb,yb]]
for i in range(0,len(boxpos)):
pygame.draw.rect(DISPLAYSURF,CB[i], [boxpos[i],(bh,bw)])
J = random.choice(w)
CB.append(J)
for i in range(0,len(boxpos)):
boxpos[i][0] = boxpos[i][0] - 10
for i in range(0,len(boxpos)):
if boxpos[i] == [(xb-bw-10),yb]:
boxpos.append([xb,yb])
我将采取的步骤是:首先在游戏中添加一个
frame\u number
变量,以便一次生成方框4:
#preamble
...
frame_number = 0
while(true):
frame_number +=1
...
#other stuff
这样,您就可以让循环每隔n
帧执行一次操作,如下所示:
if frame_number % 10 == 0:
#do a thing that you want done every 10 frames
假设你的盒子大小为30,每帧速度为10,你需要每4*30/10=12帧添加4个盒子。因此,您需要在检查后生成方框,以确保我们处于要生成方框的框架中:
if frame_number % 12 == 0:
for _ in range(4):
J = random.choice(w)
CB.append(J)
您的缩进已关闭,因为您的代码现在处于静止状态,可能会出现缩进错误。您能确保您的代码缩进与您运行的代码相同吗?这可以通过复制粘贴到此问题中快速完成,突出显示所有代码并按
CTRL+K
或{}
按钮您在哪里定义了颜色?看来你还没有开始使用颜色。