本文整理汇总了Python中renderer.Renderer.handleEvents方法的典型用法代码示例。如果您正苦于以下问题:Python Renderer.handleEvents方法的具体用法?Python Renderer.handleEvents怎么用?Python Renderer.handleEvents使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类renderer.Renderer
的用法示例。
在下文中一共展示了Renderer.handleEvents方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from renderer import Renderer [as 别名]
# 或者: from renderer.Renderer import handleEvents [as 别名]
def main():
_map = Map(W, H, NUM_CLUSTERS_PER_DIM)
drawClusters = False
drawGraph = False
players = []
activePlayer = -1
if usePygame:
_inputHandler = InputHandler(SCREEN_WIDTH, SCREEN_HEIGHT, W, H)
_renderer = Renderer(SCREEN_WIDTH, SCREEN_HEIGHT)
done = False
running = True # Responsible for deciding if we are updating the position of the players
while not done:
###################
if usePygame:
done = _renderer.handleEvents()
if _inputHandler.getKeyPressed(K_c):
drawClusters = not drawClusters
if _inputHandler.getKeyPressed(K_g):
drawGraph = not drawGraph
if _inputHandler.getKeyPressed(K_r):
edgesToRemove = []
nodesToRemove = []
for node in _map.graph.nodes:
# Cheat to remove all nodes.
tester = False
for id in node.affectedPlayers:
if id == ALL_PLAYERS:
tester = True
if not tester:
for edge in _map.graph.edges:
if edge.i1 == node or edge.i2 == node:
edgesToRemove.append(edge)
nodesToRemove.append(node)
for edge in edgesToRemove:
try:
_map.graph.edges.remove(edge)
except ValueError:
pass
for node in nodesToRemove:
try:
_map.graph.nodes.remove(node)
except ValueError:
pass
players = []
activePlayer = -1
if _inputHandler.getKeyPressed(K_t):
if activePlayer >= 0:
player = players[activePlayer]
if player.goal != None:
_map.removeInGraph(player, player.goal.position)
_map.removeInGraph(player, player.start.position)
players.pop(activePlayer)
activePlayer = activePlayer - 1
if _inputHandler.getMousePressed(LEFT_MOUSE_BUTTON, True):
mousePosition = _inputHandler.getMousePosition(_map)
if (_map.isPositionValid(mousePosition) and
_map[mousePosition.x, mousePosition.y] != WALL):
cid = _map.convertMapv2ClusterId(mousePosition)
playerId = len(players)
activePlayer = playerId
player = Player(mousePosition, cid, playerId)
players.append(player)
_map.addAndConnectNodeToGraph(player.start)
print("Added player" + str(playerId))
else:
print("Cant add player on " + str(mousePosition) + " " +
str(_map.isPositionValid(mousePosition)) + " " + str(_map[mousePosition.x, mousePosition.y] != WALL))
if activePlayer != -1:
if _inputHandler.getKeyPressed(K_n):
activePlayer = (activePlayer + 1) % len(players)
if _inputHandler.getMousePressed(LEFT_MOUSE_BUTTON):
mousePosition = _inputHandler.getMousePosition(_map)
if (_map.isPositionValid(mousePosition) and
_map[mousePosition.x, mousePosition.y] != WALL):
if player.start is not None:
_map.removeAllRef(players[activePlayer])
cid = _map.convertMapv2ClusterId(mousePosition)
players[activePlayer].updateStart(mousePosition, cid)
_map.addAndConnectNodeToGraph(players[activePlayer].start)
#.........这里部分代码省略.........