Նկարեք արև՝ օգտագործելով 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-ում: