import pygame, sys
from pygame.locals import *
pygame.init()
size = width, height = 480,320
screen = pygame.display.set_mode(size)
r = 0
bif = pygame.image.load("map5.png")
pygame.display.set_caption("Pygame 2D RPG !")
x,y=0,0
movex, movey=0,0
character="boy.png"
player=pygame.image.load(character).convert_alpha()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type==KEYDOWN:
if event.key==K_a:
movex=-1
elif event.key==K_d:
movex=+1
elif event.key==K_w:
movey=-1
elif event.key==K_s:
movey=+1
if event.type==KEYUP:
if event.key==K_a:
movex=0
elif event.key==K_d:
movex=0
elif event.key==K_w:
movey=0
elif event.key==K_s:
movey=0
x+=movex
y+=movey
screen.fill((r,0,0))
screen.blit(bif,(0,0))
screen.blit(player,(x,y))
pygame.display.flip()
一切都很好,除了我想知道我到底怎么才能把相机移到玩家要去的地方对不起,我不能给你显示地图文件,因为你不能给它添加图像。但谢谢你的时间
地图在这里:https://dl.dropboxusercontent.com/u/110087275/2d%20pygame/map5.png 最后代码在这里:https://dl.dropboxusercontent.com/u/110087275/2d%20pygame/2d_pygame.py
再次感谢你的时间和努力!!!!!
通常,要创建“摄影机效果”,可以尝试以下操作:
创建两个变量“CameraX,CameraY”(或给它们起你自己的名字),每次你在屏幕上闪现一些东西时,请执行以下操作:
现在每当你想移动屏幕(用相机)的时候
请注意,如果CameraX是负数并且将显示错误行为,则此方法不起作用,因此请将CameraX=0和CameraY=0视为地图的左上角
同样使用这个,你可能需要播放一些其他选项,如相机将在什么时候移动?以及如何限制相机超出“bif”(你的地图)的限制
提示:
如果“男孩”字符移动超过屏幕宽度的3/4,则此代码会使相机移动到“右侧”
相关问题 更多 >
编程相关推荐