设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【Pygame 第5课】 游戏中的运动

[复制链接]

0

主题

0

好友

28

积分

新手上路

Rank: 1

楼主
发表于 2018-1-17 15:45:26 |显示全部楼层
飞机对打
  1. # -*- coding:utf-8 -*-
  2. from sys import exit

  3. import pygame

  4. pygame.init()
  5. screen = pygame.display.set_mode((450, 800), 0, 32)
  6. pygame.display.set_caption("Hello, World!")
  7. sky = pygame.image.load('back.jpg').convert()
  8. plane = pygame.image.load('plane.png').convert_alpha()
  9. bullet = pygame.image.load('bullet.png').convert_alpha()
  10. # 加载子弹图像

  11. plane_enemy = pygame.image.load('plane_rev.png').convert_alpha()
  12. # 加载敌军战机图像
  13. bullet_enemy = pygame.image.load('bullet_rev.png').convert_alpha()
  14. # 加载敌军子弹图像


  15. bullet_x = 0
  16. bullet_y = -1
  17. # 设置我方子弹初始位置

  18. bullet_enemy_x = 225-bullet.get_width() / 2
  19. bullet_enemy_y = 801
  20. # 设置敌方子弹初始位置

  21. plane_enemy_x = 225-plane_enemy.get_width() / 2
  22. plane_enemy_y = 0
  23. # 设置敌方战机初始位置

  24. while True:
  25.     for event in pygame.event.get():
  26.         if event.type == pygame.QUIT:
  27.             pygame.quit()
  28.             exit()
  29.     screen.blit(sky, (0, 0))
  30.     screen.blit(plane_enemy, (plane_enemy_x, plane_enemy_y))
  31.     # 把敌方战机画到屏幕上
  32.     x, y = pygame.mouse.get_pos()
  33.     # 我方战机运动情况
  34.     if bullet_y < 0:
  35.         # 如果子弹位置超出了屏幕上端
  36.         bullet_x = x - bullet.get_width() / 2
  37.         bullet_y = y - bullet.get_height() / 2
  38.         # 把子弹位置往上移
  39.     else:
  40.         bullet_y -= 5
  41.     screen.blit(bullet, (bullet_x, bullet_y))
  42.     # 把子弹画到屏幕上
  43.     x -= plane.get_width() / 2
  44.     y -= plane.get_height() / 2
  45.     screen.blit(plane, (x, y))

  46.     # 敌方战机运动情况
  47.     if bullet_enemy_y > 800:
  48.         # 如果敌方子弹超出了屏幕下方
  49.         bullet_enemy_x = 225 - bullet.get_width() / 2
  50.         bullet_enemy_y = 0 - bullet.get_height() / 2
  51.     else:
  52.         bullet_enemy_y += 5
  53.     screen.blit(bullet_enemy,(bullet_enemy_x,bullet_enemy_y))
  54.     #把敌方子弹画到屏幕上


  55.     pygame.display.update()
复制代码

TIM截图20180117154309.jpg (19.66 KB, 下载次数: 441)

TIM截图20180117154309.jpg

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-7 08:44 , Processed in 0.026981 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部