python - 如何让我的火箭在击中边界时回到原来的位置?
问题描述
我是编程新手,从 pygame 零开始。我正在制作一个小游戏,你向外星人发射火箭。但是我的火箭在发射时一直卡在边界上,我做了一个重新加载功能,但我希望它自动运行(当它击中边界或外星人回到正常位置时)。任何人都可以帮助我吗?
alien = Actor('alien', (100,100))
ship =Actor('ship', (500,400))
rocket_fire = Actor('rocket_fire', (500,400))
WIDTH = 1000
HEIGHT =500
def draw():
screen.clear()
screen.blit('space_back', (0,0))
rocket_fire.draw()
ship.draw()
alien.draw()
def move_ship(ship):
if keyboard.left:
ship.x -= 3
rocket_fire.x -= 3
elif keyboard.right:
ship.x += 3
rocket_fire.x += 3
elif keyboard.space:
animate(rocket_fire, pos = (ship.x,0))
elif keyboard.r:
rocket_fire.pos = (ship.x,ship.y)
def move_alien(alien):
alien.right +=2
if alien.left > WIDTH:
alien.right = 0
collide = rocket_fire.colliderect(alien)
if collide == 0:
alien.image = 'alien'
elif collide == 1:
alien.image = 'nuclear_explosion'
def update():
rocket_fire.draw()
ship.draw()
alien.draw()
move_ship(ship)
move_alien(alien)
解决方案
您可以尝试在“collide == 1”之后将初始值分配给“rocket_fire”。
elif collide == 1:
alien.image = 'nuclear_explosion'
// rocket_fire = (500,400) -> this is just a representation to assign position; not accurate as per the code
推荐阅读
- javascript - facebook 自动使用登录 facebook 应用程序的用户进行身份验证
- c# - OdbcDataAdapter 表名称 - 在 C 中
- kubernetes - 无法通过主节点访问 pod 网络
- bash - 用于创建 mongo 数据库文档的 cURL 脚本
- c++ - 为什么 osgEarth 不使用 Qt 构建?
- python - Python烧瓶应用程序事件处理程序
- node.js - 尝试“npm install node-sass --save dev”时出错
- r - 求和并将其放在 R 中的其他位置
- javascript - 如何使用 jquery 编辑表 td 值
- java - 文件大于 2 GB 的 InputStream