Նկարեք արև՝ օգտագործելով Arcade Library Python-ը


Python-ը շատ բազմաֆունկցիոնալ ծրագրավորման լեզու է գրադարանների և շրջանակների հսկայական ցանցով, որն ունի ստանդարտ լեզվի առանձնահատկություններից դուրս հնարավորություններ: Arcade-ը գրադարաններից մեկն է, որն օգտագործվում է գրաֆիկական պատկերներ ստեղծելու և օգտագործողի մուտքերը մշակելու համար: Այն օգտագործում է հիմնական ձևեր, ինչպիսիք են շրջանակները և գծերը, գրադիենտ մոտեցումը և շատ այլ տեխնիկա՝ գրավիչ գրաֆիկա ստեղծելու համար: Այս հոդվածում մենք կսովորենք Python-ի Arcade գրադարանի միջոցով արև նկարելու տարբեր մեթոդներ:

Արկադային գրադարանը և դրա առանձնահատկությունները

Arcade գրադարանը Python գրադարան է, որը կառուցված է Pyglet-ի վրա, մուլտիմեդիա գրադարան python-ի համար: Այն python գրադարան է, որն օգտագործվում է 2D խաղերի և այլ գրաֆիկական հավելվածների մշակման համար: Այն ապահովում է սկսնակների համար հարմար ձևավորումներ՝ միաժամանակ առաջարկելով առաջադեմ հնարավորություններ փորձառու մշակողների համար: Այն առաջարկում է բազմաթիվ առանձնահատկություններ, ինչպիսիք են.

Արկադային գրադարանում առաջարկվում են նկարչական գործառույթների լայն շրջանակ, որտեղ կարող եք սկսել հիմնական ձևերից, ինչպիսիք են գծերը, շրջանակները, ուղղանկյունները և բազմանկյունները, ինչպես նաև ավելի բարդ ձևերից, ինչպիսիք են Bezier կորերը:

  • Այն ապահովում է պատուհան ստեղծելու և գրաֆիկական համատեքստը կարգավորելու հեշտ միջոց:

  • Այն օգտագործում է ժամանակակից գրաֆիկական սարքավորումներ՝ գրաֆիկան արագ և արդյունավետ փոխելու համար:

  • Այն նաև ունի ձայնային էֆեկտներ ավելացնելու ներկառուցված ֆունկցիա՝ գրաֆիկան ավելի գրավիչ դարձնելու համար:

  • Ապահովում է ֆայլերի հեշտ բեռնում և այլ ռեսուրսներ ձեր խաղերում:

  • Ձեր խաղի կամ սիմուլյացիայի մեջ իրատեսական ֆիզիկա ավելացնելու համար Arcade գրադարանը տրամադրում է պարզ ֆիզիկայի շարժիչ նույնի համար:

  • Դուք կարող եք փոխել տառատեսակները և ոճերը՝ օգտագործելով Arcade գրադարանի տրամադրած գործիքները:

  • Այն ունի մկնիկի և ստեղնաշարի իրադարձությունների միջոցով օգտագործողի մուտքագրումը վարելու եզակի առանձնահատկություն:

Հետևաբար, Arcade-ը ամբողջական գրադարան է, որն ապահովում է մի շարք գործիքներ Python-ում ինտերակտիվ, գրավիչ և գրավիչ գրաֆիկական հավելված ստեղծելու համար:

Արև նկարել՝ օգտագործելով Արկադային գրադարանը

Արևը սովորական գրաֆիկական տարր է, որը հաճախ օգտագործվում է խաղերում և հավելվածներում: Արկադային գրադարանի միջոցով կարող եք նկարել արևը մի քանի ձևով, օրինակ՝ օգտագործելով հիմնական ձևերը, ինչպիսիք են շրջանակներն ու գծերը, բայց այն ավելի իրական և գրավիչ դարձնելու համար կարող եք օգտագործել Arcade Library-ի տարբեր գործառույթներ: Այսպիսով, եկեք սկսենք հիմնական արևից:

Դուք պետք է տեղադրեք 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.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 գրադարանը: Առաջին մեթոդով մենք պարզապես ներմուծեցինք արկադային գրադարանը, որը տվեց պատուհանի հաստատունները, բացեցինք նոր պատուհան, այնուհետև օգտագործեցինք արևը նկարելու գործառույթներ:

Երկրորդ մեթոդի դեպքում մենք օգտագործել ենք մաթեմատիկական մոդուլը, որպեսզի նկարենք նաև ճառագայթները, ինչը արևն ավելի գրավիչ է դարձնում: Նմանապես դուք կարող եք փոփոխություններ կատարել ոճերի և ճառագայթների մեջ, ավելացնել նոր գրաֆիկա և փորձել ստեղծել տարբեր գրաֆիկական հավելվածներ Python-ում: