From f13c042eda650658f8279102e0064596a2535ac3 Mon Sep 17 00:00:00 2001 From: Suwako Moriya Date: Fri, 31 Jan 2020 17:44:20 +0100 Subject: [PATCH] Checkpoiny --- assets/{intro_ball.gif => planet.gif} | Bin assets/ship.png | Bin 0 -> 9327 bytes assets/ship.xcf | Bin 0 -> 8449 bytes main.py | 3 +- mecha.py | 10 +-- visual.py | 98 ++++++++++++++++++++++++-- 6 files changed, 101 insertions(+), 10 deletions(-) rename assets/{intro_ball.gif => planet.gif} (100%) create mode 100644 assets/ship.png create mode 100644 assets/ship.xcf diff --git a/assets/intro_ball.gif b/assets/planet.gif similarity index 100% rename from assets/intro_ball.gif rename to assets/planet.gif diff --git a/assets/ship.png b/assets/ship.png new file mode 100644 index 0000000000000000000000000000000000000000..f499bb38434d475149e75cd223ef06e41e443812 GIT binary patch literal 9327 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 Tit6 2: + print(dtick) + for _ in range(dtick): + for event in pygame.event.get(): + #print(event.type) + if event.type == pygame.QUIT: sys.exit() + if event.type == pygame.KEYDOWN: + keys.update({event.key}) + print(event.key) + # if event.key == 102: + # follow = (follow + 1)%len(elements) + if event.type == pygame.KEYUP: + if event.key in keys: + keys.remove(event.key) + screen.fill(black) + # for key in keys: + # if key in [275,276,273,274]: + # exec("camera" + ("[0]+","[0]-","[1]-","[1]+")[[275,276,273,274].index(key)] + "=30") + for element in elements[::-1]: + element.mecha.apply_gravity([element.mecha for element in elements]) + element.mecha.tick(origin=elements[0].mecha.pos) + for element in elements: + element.draw(scale=.1, reference=elements[1].mecha.pos, size=size) + # for element in elements: + # element.apply(camera=camera, origin=origin) + # screen.blit(element.image, element.position) + pygame.display.flip() + time.sleep(0.001) + if tick[2]%60 == 0 : print(elements[1].mecha.pos) \ No newline at end of file