添加点击建造防御塔的代码
时间: 2024-03-25 08:40:37 浏览: 14
要在游戏中添加点击建造防御塔的功能,你需要使用pygame模块中的事件处理函数来检测鼠标点击事件,然后在点击事件发生时创建一个新的防御塔对象。以下是一个简单的示例代码:
```python
import pygame
from Map import Map
from Tower import Tower
# 初始化pygame模块
pygame.init()
# 设置游戏窗口大小
width, height = 800, 600
screen = pygame.display.set_mode((width, height))
# 创建地图对象
map = Map(width, height, 20)
# 创建一个防御塔列表
towers = []
# 游戏主循环
while True:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.MOUSEBUTTONDOWN:
# 如果鼠标左键被点击
if event.button == 1:
# 获取鼠标点击的位置
x, y = pygame.mouse.get_pos()
# 检查点击位置是否在地图范围内
if map.is_valid_pos(x, y):
# 创建一个新的防御塔对象并添加到防御塔列表中
tower = Tower(x, y, 1)
towers.append(tower)
# 绘制地图和防御塔
map.draw(screen)
for tower in towers:
tower.draw(screen)
# 更新屏幕
pygame.display.update()
```
在这个示例代码中,我们首先导入了pygame模块、Map和Tower类,然后创建了一个地图对象和一个防御塔列表。在游戏主循环中,我们使用pygame.event.get()函数来获取所有事件,并使用一个for循环逐个处理这些事件。在处理鼠标点击事件时,我们使用pygame.mouse.get_pos()函数来获取鼠标点击的位置,然后检查这个位置是否在地图范围内。如果是,我们创建一个新的防御塔对象并将其添加到防御塔列表中。最后,我们使用地图对象和防御塔列表来绘制游戏界面,并使用pygame.display.update()函数来更新屏幕。