小さなプラットフォーマー用に、画面の下部に読み込まれるフロアを作成しようとしています。私もこの方法でそれを行っているので、後で無限にロードするよりも、カメラだけに床荷重を持たせる方が簡単になると思います. 私は解決策を見つけようとしましたが、「N」を関数として言及していないのでわかりません。ヘルプや一般的な提案をいただければ幸いです。そして、はい、私は今そこにいくつかの役に立たないものがあることを知っていますが、私はまだそれらを回避する必要があります(FPS、BASICFONT)
def drawTiles():
N = 0
while (N < tilesNeeded):
pygame.draw.rect(DISPLAYSURF, GREEN, (20(N), floorx, TILESIZE, TILESIZE))
pygame.draw.rect(DISPLAYSURF, LIGHTGREEN, ((TILESIZE/4) + (20(N)), (floorx + (TILESIZE/4)), TILESIZE / 2, TILESIZE / 2))
N = N + 1
これが見るべきプログラム全体です
import pygame, sys, random
from pygame.locals import *
TILESIZE = 20
WINDOWWIDTH = 640
WINDOWHEIGHT = 480
FPS = 30
floorx = (WINDOWHEIGHT - (TILESIZE))
floory = (WINDOWWIDTH / TILESIZE)
TileOffset = 20
tilesNeeded = (WINDOWWIDTH / TILESIZE)
BLACK = ( 0, 0, 0)
WHITE = (255, 255, 255)
SKYBLUE = (200, 210, 255)
DARKTURQUOISE = ( 3, 54, 73)
GREEN = ( 0, 92, 7)
LIGHTGREEN = ( 0, 135, 15)
def main():
global FPSCLOCK, DISPLAYSURF, BASICFONT, TILESIZE, floorx, floory, floorCovered, tilesNeeded
pygame.init()
FPSCLOCK = pygame.time.Clock()
DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT))
pygame.display.set_caption('Alpha One')
DISPLAYSURF.fill(SKYBLUE)
drawTiles()
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
def drawTiles():
N = 0
while (N < tilesNeeded):
pygame.draw.rect(DISPLAYSURF, GREEN, (20(N), floorx, TILESIZE, TILESIZE))
pygame.draw.rect(DISPLAYSURF, LIGHTGREEN, ((TILESIZE/4) + (20(N)), (floorx + (TILESIZE/4)), TILESIZE / 2, TILESIZE / 2))
N = N + 1
if __name__ == '__main__':
main()