本文整理汇总了Python中renderer.Renderer.update方法的典型用法代码示例。如果您正苦于以下问题:Python Renderer.update方法的具体用法?Python Renderer.update怎么用?Python Renderer.update使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类renderer.Renderer
的用法示例。
在下文中一共展示了Renderer.update方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Trail
# 需要导入模块: from renderer import Renderer [as 别名]
# 或者: from renderer.Renderer import update [as 别名]
d1.visuals.trail = Trail(1, 100)
d2 = Disk(Point(10, 10), 5, 5.97219e+14, Vector(0, 0))
d2.visuals.color = white
world = World()
world.disks = [d1, d2]
camera = Camera(bottomleft=Point(0, 0), topright=Point(39, 29))
renderer = Renderer(world, camera, window_surface)
timestep = 33
dt = 0
while True:
window_surface.fill(blue)
renderer.update(dt / 1000.0)
for event in pygame.event.get():
if event.type == QUIT:
logger.info("Going away!")
pygame.quit()
sys.exit()
elif event.type == MOUSEBUTTONDOWN:
if event.button == 3: # right button
throwing_disk = get_disk_from_surface_point(event.pos, world, renderer)
if throwing_disk is not None:
# inside a disk
throwing = True
throwing_start = renderer.worldToSurfaceCoord(throwing_disk.center)
elif event.button == 2: # middle button
d = get_disk_from_surface_point(event.pos, world, renderer)
示例2: main
# 需要导入模块: from renderer import Renderer [as 别名]
# 或者: from renderer.Renderer import update [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)
#.........这里部分代码省略.........