好的,所以我在下面列出了我的项目的代码,我只是在制作平台游戏时尝试使用pygame.我试图弄清楚如何在玩家之后进行一些非常简单的滚动,因此玩家是相机的中心,它会反弹/跟随他.谁能帮我?
import pygame
from pygame import *
WIN_WIDTH = 800
WIN_HEIGHT = 640
HALF_WIDTH = int(WIN_WIDTH / 2)
HALF_HEIGHT = int(WIN_HEIGHT / 2)
DISPLAY = (WIN_WIDTH, WIN_HEIGHT)
DEPTH = 32
FLAGS = 0
CAMERA_SLACK = 30
def main():
global cameraX, cameraY
pygame.init()
screen = pygame.display.set_mode(DISPLAY, FLAGS, DEPTH)
pygame.display.set_caption("Use arrows to move!")
timer = pygame.time.Clock()
up = down = left = right = running = False
bg = Surface((32,32))
bg.convert()
bg.fill(Color("#000000"))
entities = pygame.sprite.Group()
player = Player(32, 32)
platforms = [] …Run Code Online (Sandbox Code Playgroud) 从pymunk示例中,我已经看到pymunk坐标和pygame坐标之间存在差异。此外,该pymunk仅用于2D物理,而pygame用于在屏幕上渲染对象/精灵。
因此,在寻找如何建立摄像机跟随玩家的环境时,人们(包括我在内)最终会感到困惑。我已经在这里,这里,这里和这里看到了示例(甚至很惊讶没有人回答这个问题),但是鉴于与同一主题相关的问题反复被问到,我诚实地认为答案并不能充分解释概念和要求将最简单的示例展示给社区,在社区中用注释解释所有代码。
我曾在OGRE和OSG等3D环境中工作,在这些环境中,相机是可以用视锥浏览器定义的正确概念,但令我惊讶的是2D世界没有为其提供预定义功能。所以:
如果不是在Pymunk或pygame的官方教程中,至少可以提供一个简单的示例(玩家拥有一个Pymunk身体,世界上只有几个Pymunk身体)作为答案,玩家可以在2D Pymunk +中移动pygame世界和相机跟随玩家?