现在功能实现了画面的变化,人物动画效果,方向移动,方向转化。
#2015/9/18
import pygame#导入库
from pygame.locals import *
from sys import exit
pygame.init()#初始化游戏
SCREEN=pygame.display.set_mode((640,480))#设置幕布
pygame.display.set_caption('The Otter\'s Adventure')#设置标题
pygame.mouse.set_visible(0)
background=pygame.image.load('resource/image/Background1.png')
#2015/9/19
Flower1=pygame.image.load('resource/image/Flower1.png')#载入图片资源,生成surface对象
Flower2=pygame.image.load('resource/image/Flower2.png')
Flower3=pygame.image.load('resource/image/Flower3.png')
Flower4=pygame.image.load('resource/image/Flower4.png')
Running01=pygame.image.load('resource/image/Running1.png')
Running02=pygame.image.load("resource/image/Running2.png")
Running1=pygame.image.load('resource/image/Running1.png')
Running2=pygame.image.load("resource/image/Running2.png")
Running3=pygame.image.load("resource/image/Running3.png")
Running4=pygame.image.load('resource/image/Running4.png')
#2015/10/1 Late Night "I'm saving the world!"
ticks=0 #导入ticks计数
offset={pygame.K_LEFT:0,pygame.K_RIGHT:0,pygame.K_UP:0,pygame.K_DOWN:0}#按键字典文件
hero_x=200
hero_y=325
hero_pos=[hero_x,hero_y]#人物位置
background_x=0
background_y=0
background_pos=(background_x,background_y)
while True: #游戏主循环
SCREEN.blit(background,(background_pos))#绘制背景
if ticks%50<25:#动画效果
SCREEN.blit(Running1,hero_pos)
else:
SCREEN.blit(Running2,hero_pos)
ticks=ticks+0.75
pygame.display.update()
#2015/10/2
for event in pygame.event.get():#获取事件列表
if event.type==pygame.QUIT:#点击退出后关闭程序
pygame.quit()
if event.type==pygame.KEYDOWN:#坐标位置更改
if event.key in offset:
offset[event.key]=1.5
if event.key==pygame.K_LEFT:
Running1=Running3
Running2=Running4
if event.key==pygame.K_RIGHT:
Running1=Running01
Running2=Running02
elif event.type==pygame.KEYUP:#坐标位置停止更改
if event.key in offset:
offset[event.key]=0
offset_x=offset[pygame.K_RIGHT]-offset[pygame.K_LEFT]
offset_y=offset[pygame.K_DOWN]-offset[pygame.K_UP]
#2015/10/6 边界
if hero_x<0:
hero_x=0
elif hero_x>230:
if offset_x>0:
background_x=background_x-offset_x
if background_x<-1280:
background_x=-1280
if background_x>0:
background_x=0
background_pos=[background_x,background_y]
else:
hero_x=hero_x+offset_x
elif hero_x>640:
hero_x=640
else:
hero_x=hero_x+offset_x
if hero_y<0:
hero_y=0
elif hero_y>325:
hero_y=325
else:
hero_y=hero_y+offset_y
hero_pos=[hero_x,hero_y]
print(hero_pos)
接下来的目标是重力,考虑用循环来做