配套视频教程
配套视频教程
项目代码
项目代码
最终效果
文章图片
行走
constants.py
STAND = 'standing'
WALK = 'walk'SMALL_ACCEL = .2
SMALL_TURNAROUND = .35
文章图片
玛丽类构造函数修改如下:
文章图片
玛丽类新增及修改
def update(self, keys):
self.handle_state(keys)
self.update_position()
self.animation()def update_position(self):
self.rect.x += self.x_vel
self.rect.y += self.y_veldef handle_state(self, keys):
if self.state == c.STAND:
self.standing(keys)
elif self.state == c.WALK:
self.walking(keys)def animation(self):
if self.facing_right:
self.image = self.right_frames[self.frame_index]
else:
self.image = self.left_frames[self.frame_index]def load_from_sheet(self):
self.right_frames.append(
self.get_image(178, 32, 12, 16))# right
self.right_frames.append(
self.get_image(80, 32, 15, 16))# right walking 1
self.right_frames.append(
self.get_image(99, 32, 15, 16))# right walking 2
self.right_frames.append(
self.get_image(114, 32, 15, 16))# right walking 3
self.right_frames.append(
self.get_image(144, 32, 16, 16))# right jump
self.right_frames.append(
self.get_image(130, 32, 14, 16))# right skid# The left image frames are numbered the same as the right
# frames but are simply reversed.for frame in self.right_frames:
new_image = pg.transform.flip(frame, True, False)
self.left_frames.append(new_image)
玛丽类新增
def standing(self, keys):
self.frame_index = 0
self.x_vel = 0
self.y_vel = 0if keys[pg.K_LEFT]:
self.facing_right = False
self.state = c.WALK
elif keys[pg.K_RIGHT]:
self.facing_right = True
self.state = c.WALK
else:
self.state = c.STANDdef walking(self, keys):
if self.frame_index == 0:
self.frame_index += 1
else:
if self.frame_index < 3:
self.frame_index += 1
else:
self.frame_index = 1if keys[pg.K_LEFT]:
self.facing_right = False
self.x_accel = c.SMALL_ACCEL#向左速度是负的,如果没达到最小的负的速度,继续向左
# 比如 -3 > -4,那就继续减小
if self.x_vel > (self.max_x_vel * -1):
self.x_vel -= self.x_accelelif keys[pg.K_RIGHT]:
self.facing_right = True
self.x_accel = c.SMALL_ACCELif self.x_vel < self.max_x_vel:
self.x_vel += self.x_accel
不抖
文章图片
文章图片
文章图片
能停
文章图片
转身和加速
【游戏|Python实现超级玛丽游戏系列教程02玛丽行走】
文章图片
推荐阅读
- #|第003课(运行程序,纠正程序编写问题)
- 一行 Python 代码,20款经典小游戏
- 游戏程序|python实现超级玛丽小游戏(动图演示+源码分享)
- 百度|这个微信小程序开源!
- 学习资源整合|熬夜整理了2021年Python最新学习资料,分享给学弟学妹们【大学生必备】
- Python|python(基本介绍)
- 付费脚本栏|快手极速版脚本,本地搭建青龙面板跑(亲测目前可用~)
- 羊毛党|4月28日 快手极速版可用脚本,临时用用吧~ (看过来吧~)