使用 Arcade 庫 Python 繪製太陽
Python 是一種高度多用途的程式語言,擁有龐大的庫和框架網路,其功能超越了標準語言特性。Arcade 是用於建立圖形和處理使用者輸入的庫之一。它使用圓形和線條等基本形狀,漸變方法以及許多其他技術來建立吸引人的圖形。在本文中,我們將學習使用 Python 中的 Arcade 庫繪製太陽的不同方法。
Arcade 庫及其功能
Arcade 庫是一個基於 Pyglet(Python 的多媒體庫)構建的 Python 庫。它是一個用於開發 2D 遊戲和其他圖形應用程式的 Python 庫。它提供了對初學者友好的設計,同時也為經驗豐富的開發者提供了高階功能。它提供了許多功能,例如
Arcade 庫提供了各種繪圖函式,您可以從基本形狀(如線條、圓形、矩形和多邊形)開始,以及更復雜的形狀(如貝塞爾曲線)。
它提供了一種簡單的方法來建立視窗並設定圖形上下文。
它使用現代圖形硬體來快速有效地更改圖形。
它還具有內建函式,用於新增聲音效果以使圖形更具吸引力。
在您的遊戲中輕鬆載入檔案和其他資源。
為了向您的遊戲或模擬新增逼真的物理效果,Arcade 庫為此提供了一個簡單的物理引擎。
您可以使用 Arcade 庫提供的工具更改字型和樣式。
它具有透過使用滑鼠和鍵盤事件處理使用者輸入的獨特功能。
因此,Arcade 是一個完整的庫,它提供了各種工具來在 Python 中建立互動式、吸引人和引人入勝的圖形應用程式。
使用 Arcade 庫繪製太陽
太陽是遊戲中和應用程式中經常使用的常見圖形元素。您可以透過多種方式使用 Arcade 庫繪製太陽,例如使用圓形和線條等基本形狀,但為了使其更真實和更具吸引力,您可以使用 Arcade 庫的各種函式。因此,讓我們從一個基本的太陽開始。
您需要安裝 Arcade 庫。您可以透過在系統命令提示符中輸入命令來執行此操作,即
pip install arcade
示例
在此示例中,我們建立了一個基本且簡單的太陽,首先建立一個視窗來顯示太陽。
視窗是透過使用 **arcade.open_window()** 函式建立的。
然後,我們定義了一個函式 [def draw_sun():] 來繪製太陽,其中 **arcade.draw_circle_filled()** 方法用於在螢幕中央繪製一個填充的圓形。
您可以透過調整傳遞給 **arcade.draw_circle_filled()** 方法的引數來更改其大小和顏色來自定義物件。
import arcade # Create a window, for the sun to be displayed in SCREEN_WIDTH = 500 SCREEN_HEIGHT = 500 window = arcade.open_window(SCREEN_WIDTH, SCREEN_HEIGHT,"SUN") # define the function to draw a sun def draw_sun(): arcade.draw_circle_filled(SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2, 200, arcade.color. ORANGE_RED) # the circle has radius of 200 pixels @window.event() def on_draw(): arcade.start_render() draw_sun() # this function is called to add the sun to the window arcade.run()
輸出
示例 2
在此第二個示例中,我們在 Python 中將 math 模組與 arcade 模組一起匯入。
此 math 模組將幫助我們訪問各種數學函式,例如三角函式、對數等。在這裡,我們使用了 math.cos()、math.sin() 函式來根據角度計算每條光線的 x 和 y 座標。
因此,它有助於計算每條光線的端點,並且每條光線都從太陽的中心發出。
main() 函式用於初始化 Arcade 視窗並呼叫 draw_sun() 以在中心繪製太陽。可以根據使用者的需要更改效果、顏色和大小。
import arcade import math # defined values for the screen SCR_WIDTH = 640 SCR_HEIGHT = 400 RAYS_NUM = 50 RAY_LENGTH = 200 RAY_WIDTH = 5 def draw_sun(center_x, center_y, rays_num, ray_length, ray_width): angle_step = 2 * math.pi / rays_num for i in range(rays_num): angle = i * angle_step x1 = center_x + ray_length * math.cos(angle) y1 = center_y + ray_length * math.sin(angle) x2 = center_x + ray_length * math.cos(angle + math.pi) y2 = center_y + ray_length * math.sin(angle + math.pi) # rays can be drawn using arcade.draw_line arcade.draw_line(x1, y1, x2, y2, arcade.color.ORANGE_RED, ray_width) def main(): # create new window arcade.open_window(SCR_WIDTH, SCR_HEIGHT, "Spiraling Rays Method") arcade.set_background_color(arcade.color.SKY_BLUE) arcade.start_render() draw_sun(SCR_WIDTH // 2, SCR_HEIGHT // 2, RAYS_NUM, RAY_LENGTH, RAY_WIDTH) arcade.finish_render() arcade.run() if __name__ == '__main__': main()
輸出
需要注意的事項
在繪製此類物件時,您應該牢記某些要點,例如:
使用合適的視窗大小。
正確的座標,用於在視窗中定位物件。
在編寫程式碼時使用註釋,它可以幫助您記住,使其他人更容易理解,並且您以後可以除錯它。
結論
在本文中,我們使用了兩種不同的方法來使用 Python 中的 Arcade 庫繪製太陽。在第一種方法中,我們簡單地匯入了 arcade 庫,為視窗提供了常量,打開了一個新視窗,然後使用函式來繪製太陽。
而對於第二種方法,我們使用了 math 模組來繪製光線,這使得太陽看起來更具吸引力。以類似的方式,您可以更改樣式和光線,新增新的圖形,並嘗試在 Python 中建立不同的圖形應用程式。