【py】Python八大行星漂亮动画演示
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                【py】Python八大行星漂亮动画演示
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                Python八大行星漂亮動畫演示
2019-05-22 07:32:03?李興球?閱讀數 771更多
分類專欄:?arcade
版權聲明:本文為博主原創文章,遵循?CC 4.0 BY-SA?版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/avskya/article/details/90436588
"""一個簡單的演示八大行星公轉的動畫,采用arcade街機游戲模塊制作,安裝Arcade請用pip install arcade --user。 A simple animation to simulate the rotation of eight planets is made by using Arcade module. To install Arcade, use PIP install arcade--user. """__author__ = "lixingqiu" __date__ = "2019/3/8"import time import math import arcade import randomSCREEN_WIDTH = 1350 SCREEN_HEIGHT = 780 SCREEN_TITLE = "eight planet 八大行星"class Planet(arcade.Sprite):def __init__(self,image,a,b,angle,speed):"""image:造型圖片,a:Long axis長半軸,b:semi-minor axis短半軸,angle:初始角度"""super().__init__(image)self.center_x = SCREEN_WIDTH / 2self.center_y = SCREEN_HEIGHT / 2 self.direction = angle # 自定義direction,不用原有屬性angle self.a = aself.b = bself.speed = speed def update(self):""" Calculating Initial Coordinates Based on Elliptic Parametric Equation"""self.direction = self.direction + 365 / self.speed self.direction = self.direction % 360 x = SCREEN_WIDTH / 2 + self.a * math.cos(math.radians(self.direction)) # 根據橢圓參數方程算起始坐標y = SCREEN_HEIGHT / 2 + self.b * math.sin(math.radians(self.direction))self.center_x = xself.center_y = ysuper().update() class MyGame(arcade.Window):"""繼承自窗口的MyGame類."""def __init__(self, width, height, title):super().__init__(width, height, title)arcade.set_background_color(arcade.color.WHITE)def setup(self):""" 這里是對游戲中的各個對象進行設置 """self.planet_list = arcade.SpriteList() # 新建角色列表,以便統一渲染 # 背景角色生成pass# 太陽角色生成pass # 行星角色生成passfor i in range(8): # 生成8個行星angle = self.angle_list[i]a,b = self.ab_list[i]image = self.planets_image[i]speed = self.days[i]aplanet = Planet(image,a,b,angle,speed) # 新建行星self.planet_list.append(aplanet) # 添加到所有行星列表 def update(self, x):"""每幀更新游戲內在邏輯""" self.planet_list.update() self.sun.update_animation() def on_draw(self):"""渲染屏幕 """arcade.start_render() # 開始畫背景self.background.draw()self.sun.draw()self.planet_list.draw() def main():""" Main method """window = MyGame(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)window.setup()arcade.run()if __name__ == "__main__":main()?
總結
以上是生活随笔為你收集整理的【py】Python八大行星漂亮动画演示的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: V7000存储两块硬盘掉线数据恢复成功案
- 下一篇: 在C++中使用CognexVisionp
