Много игри използват спрайтове, за да представят героя или враговете на играча. Разберете как библиотеката Arcade на Python ги прави лесни за работа.
Библиотеката Arcade на Python осигурява безпроблемен и интуитивен начин за включване на спрайтове във вашите проекти за разработка на игри. Спрайтовете са основни елементи, които придават визуална привлекателност, интерактивност и динамично движение на вашите игри.
С простия синтаксис и мощната функционалност на Arcade, добавянето на спрайтове става лесно. Библиотеката ви позволява без усилие да подобрите вашите игри със завладяващи герои и обекти.
Създаване на проста игра
Кодът, използван в тази статия, е достъпен в това GitHub хранилище и е безплатен за използване под лиценза на MIT.
Преди да започнете, уверете се, че имате pip, инсталиран на вашето устройство. Използвайте тази команда, за да инсталирате аркадната библиотека:
pip инсталирайте аркада
Започнете, като създадете проста игра, използвайки библиотеката Arcade на Python. В тази игра играчът ще може да се движи наляво и надясно.
Създайте клас MyGame, който наследява от аркада. прозорец. След това дефинирайте метода за настройка за инициализиране на променливи и on_draw метод за рисуване на обектите в играта. The on_key_press позволява на играча да мести синия правоъгълник наляво или надясно.
Ето кода за вашата основна игра:
импортиране аркада
SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480класMyGame(аркадна. прозорец):
деф__в него__(аз, ширина, височина):
super().__init__(ширина, височина)
arcade.set_background_color (arcade.color. БЯЛО)
дефнастройвам(себе си):
self.player_x = 320
дефon_draw(себе си):
arcade.start_render()
arcade.draw_rectangle_filled (self.player_x, 50, 50, 50, arcade.color. СИН)
дефon_key_press(самостоятелно, ключ, модификатори):
ако ключ == arcade.key. НАЛЯВО:
self.player_x -= 10
елиф ключ == arcade.key. ДЯСНО:
self.player_x += 10дефосновен():
игра = MyGame (SCREEN_WIDTH, SCREEN_HEIGHT)
game.setup()
arcade.run()
ако __име__ == "__основен__":
основен ()
Как да добавите спрайтове към вашата игра
Сега, след като имате работеща проста игра, е време да я подобрите, като добавите някои спрайтове. Можете да създавате спрайтове, като използвате аркада. Спрайт клас. Можете да заредите изображения, които да представят вашите спрайтове и да ги използвате във вашата игра.
Заредете файл с изображение с име играч.png за да създадете своя спрайт на играча. Задайте началната позиция на спрайта в центъра на екрана. В on_draw метод, нарисувайте спрайта на играча, като използвате функцията за изтегляне.
класMyGame(аркадна. прозорец):
деф__в него__(аз, ширина, височина):
super().__init__(ширина, височина)
arcade.set_background_color (arcade.color. БЯЛО)
self.player_sprite = Нито един
дефнастройвам(себе си):
self.player_sprite = аркада. спрайт ("player.png")
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2
дефon_draw(себе си):
arcade.start_render()
self.player_sprite.draw()
дефon_key_press(самостоятелно, ключ, модификатори):
ако ключ == arcade.key. НАЛЯВО:
self.player_sprite.change_x = -5
елиф ключ == arcade.key. ДЯСНО:
self.player_sprite.change_x = 5
дефактуализация(самостоятелно, делта_време):
self.player_sprite.update()
Допълнителни функции на Sprite
Спрайтовете в Arcade предлагат функции извън основното движение. Например, можете да преоразмерите спрайт, като зададете атрибута му мащаб.
Можете да зададете атрибута мащаб на спрайта на играча на 0,5, за да го направите половината от оригиналния размер.
класMyGame(аркадна. прозорец):
дефнастройвам(себе си):
self.player_sprite = аркада. спрайт ("player.png", мащаб=0.5)
Контролиране на движението на спрайта
Спрайтовете в Arcade предоставят различни начини за контрол на движението на играча. Освен на промяна_x атрибут, можете да използвате промяна_y атрибут за управление на вертикално движение. За по-сложни модели на движение можете също да използвате промяна_ъгъл атрибут за завъртане на спрайта.
self.player_sprite.change_angle = ROTATION_SPEED
Като комбинирате тези атрибути с въвеждане от клавиатура или мишка, можете да създадете динамични и отзивчиви контроли за движение за спрайтовете на вашата игра.
Добавяне на откриване на сблъсък със спрайтове
Откриването на сблъсък е от решаващо значение в много игри. С Arcade можете лесно да откриете сблъсъци между спрайтове, като използвате arcade.check_for_collision функция. Нека модифицираме кода, за да включва откриване на сблъсък между спрайта на играча и друг извикан спрайт obstacle.png:
класMyGame(аркадна. прозорец):
деф__в него__(аз, ширина, височина):
super().__init__(ширина, височина)
arcade.set_background_color (arcade.color. БЯЛО)
self.player_sprite = Нито един
дефнастройвам(себе си):
self.player_sprite = аркада. спрайт ("player.png", мащаб=0.1)
self.obstacle_sprite = аркада. спрайт ("препятствие.png", мащаб = 0.1)
self.obstacle_sprite.center_x = SCREEN_WIDTH
self.obstacle_sprite.center_y = SCREEN_HEIGHT // 2
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2
дефon_draw(себе си):
arcade.start_render()
self.player_sprite.draw()
self.obstacle_sprite.draw()
дефon_key_press(самостоятелно, ключ, модификатори):
ако ключ == arcade.key. НАЛЯВО:
self.player_sprite.change_x = -5
елиф ключ == arcade.key. ДЯСНО:
self.player_sprite.change_x = 5
дефактуализация(самостоятелно, делта_време):
self.player_sprite.update()
self.obstacle_sprite.update()
ако arcade.check_for_collision (self.player_sprite, self.obstacle_sprite):
печат („Открит сблъсък!“)
Направете вашите игри по-ангажиращи със спрайтове
Спрайтовете правят героите, обектите и анимациите да изглеждат реални и вълнуващи. Те могат да се движат, сблъскват и взаимодействат с други неща във вашата игра, което я прави по-реалистична и забавна.
Използвайки спрайтове, можете да създавате игри, които карат играчите да се интересуват и да искат да играят повече. Спрайтовете отварят свят от възможности за създаване на увлекателни и запомнящи се игри.