Multe jocuri folosesc sprite-uri pentru a reprezenta personajul jucătorului sau inamicii. Aflați cum biblioteca Arcade a lui Python le face ușor de lucrat.
Biblioteca Arcade a lui Python oferă o modalitate simplă și intuitivă de a încorpora sprite-uri în proiectele dvs. de dezvoltare a jocurilor. Sprite-urile sunt elemente esențiale care aduc atractivitate vizuală, interactivitate și mișcare dinamică jocurilor tale.
Cu sintaxa simplă și funcționalitatea puternică Arcade, adăugarea de sprite-uri devine o briză. Biblioteca vă permite să vă îmbunătățiți fără efort jocurile cu personaje și obiecte captivante.
Crearea unui joc simplu
Codul folosit în acest articol este disponibil în acest articol Depozitul GitHub și este gratuit pentru utilizare sub licența MIT.
Înainte de a începe, asigurați-vă că aveți pip instalat pe dispozitivul dvs. Utilizați această comandă pentru a instala biblioteca arcade:
pip install arcade
Începeți prin a crea un joc simplu folosind biblioteca Arcade a lui Python. În acest joc, jucătorul se va putea deplasa la stânga și la dreapta.
Creați o clasă MyGame care moștenește de la arcadă. Fereastră. După aceea, definiți metoda de configurare pentru a inițializa variabilele și on_draw metoda de a desena obiectele jocului. The on_key_press metoda permite jucătorului să mute dreptunghiul albastru la stânga sau la dreapta.
Iată codul pentru jocul tău de bază:
import arcadă
SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480clasăJocul meu(arcadă. Fereastră):
def__init__(sine, lățime, înălțime):
super().__init__(lățime, înălțime)
arcade.set_background_color (arcade.color. ALB)
defînființat(de sine):
self.player_x = 320
defon_draw(de sine):
arcade.start_render()
arcade.draw_rectangle_filled (self.player_x, 50, 50, 50, arcade.color. ALBASTRU)
defon_key_press(sine, cheie, modificatori):
dacă cheie == arcade.key. STÂNGA:
self.player_x -= 10
elif cheie == arcade.key. DREAPTA:
self.player_x += 10defprincipal():
joc = MyGame (SCREEN_WIDTH, SCREEN_HEIGHT)
game.setup()
arcade.run()
dacă __nume__ == "__principal__":
principal()
Cum să adăugați sprite-uri în jocul dvs
Acum că aveți un joc simplu care funcționează, este timpul să-l îmbunătățiți adăugând niște sprite-uri. Puteți crea sprite-uri folosind arcadă. Sprite clasă. Poți încărca imagini pentru a-ți reprezenta sprite-urile și le poți folosi în jocul tău.
Încărcați un fișier imagine numit player.png pentru a-ți crea sprite-ul jucătorului. Setați poziția inițială a sprite-ului în centrul ecranului. În on_draw metoda, desenați sprite-ul jucătorului folosind funcția de desen.
clasăJocul meu(arcadă. Fereastră):
def__init__(sine, lățime, înălțime):
super().__init__(lățime, înălțime)
arcade.set_background_color (arcade.color. ALB)
self.player_sprite = Nici unul
defînființat(de sine):
self.player_sprite = arcade. Sprite(„player.png”)
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2
defon_draw(de sine):
arcade.start_render()
self.player_sprite.draw()
defon_key_press(sine, cheie, modificatori):
dacă cheie == arcade.key. STÂNGA:
self.player_sprite.change_x = -5
elif cheie == arcade.key. DREAPTA:
self.player_sprite.change_x = 5
defActualizați(self, delta_time):
self.player_sprite.update()
Caracteristici suplimentare Sprite
Sprites în Arcade oferă funcții dincolo de mișcarea de bază. De exemplu, puteți redimensiona un sprite setându-i atributul de scară.
Puteți seta atributul de scară al sprite-ului jucătorului la 0,5, pentru a-l face pe jumătate din dimensiunea inițială.
clasăJocul meu(arcadă. Fereastră):
defînființat(de sine):
self.player_sprite = arcade. Sprite(„player.png”, scară=0.5)
Controlul mișcării spritelor
Sprite-urile din Arcade oferă diverse moduri de a controlează mișcarea jucătorului. Pe langa schimbare_x atribut, puteți utiliza schimbare_y atributul controlului mișcării verticale. Pentru modele de mișcare mai complexe, puteți utiliza și unghi_schimbare atribut pentru a roti sprite-ul.
self.player_sprite.change_angle = ROTATION_SPEED
Combinând aceste atribute cu introducerea de la tastatură sau mouse, puteți crea controale de mișcare dinamice și receptive pentru sprite-urile jocului.
Adăugarea detectării coliziunilor cu sprites
Detectarea coliziunilor este crucială în multe jocuri. Cu Arcade, puteți detecta cu ușurință coliziunile între sprite-uri folosind arcade.check_for_colision funcţie. Să modificăm codul pentru a include detectarea coliziunilor între sprite-ul jucătorului și un alt sprite numit obstacol.png:
clasăJocul meu(arcadă. Fereastră):
def__init__(sine, lățime, înălțime):
super().__init__(lățime, înălțime)
arcade.set_background_color (arcade.color. ALB)
self.player_sprite = Nici unul
defînființat(de sine):
self.player_sprite = arcade. Sprite(„player.png”, scară=0.1)
self.obstacle_sprite = arcade. Sprite(„obstacle.png”, scara = 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
defon_draw(de sine):
arcade.start_render()
self.player_sprite.draw()
self.obstacle_sprite.draw()
defon_key_press(sine, cheie, modificatori):
dacă cheie == arcade.key. STÂNGA:
self.player_sprite.change_x = -5
elif cheie == arcade.key. DREAPTA:
self.player_sprite.change_x = 5
defActualizați(self, delta_time):
self.player_sprite.update()
self.obstacle_sprite.update()
dacă arcade.check_for_collision (self.player_sprite, self.obstacle_sprite):
imprimare("Coliziune detectată!")
Faceți jocurile dvs. mai captivante cu Sprites
Sprite-urile fac personajele, obiectele și animațiile să pară reale și incitante. Se pot mișca, se pot ciocni și interacționa cu alte lucruri din jocul tău, ceea ce îl face să se simtă mai realist și mai distractiv.
Folosind sprite-uri, puteți crea jocuri care îi mențin pe jucători interesați și care doresc să joace mai mult. Sprite-urile deschid o lume de posibilități pentru a crea jocuri captivante și memorabile.