Probleme Pyxel banque d'image

Athelas Messages postés 4 Statut Membre -  
Athelas Messages postés 4 Statut Membre -

Bonjour,

Est-ce que quelqu'un aurait un peu de temps pour échanger sur Discord au sujet du développement d'un petit jeu sur Pyxel.

Je n'arrive pas à charger la banque d'image (et je serais surpris qu'il s'agisse du seul problème) :

La tête du programme :

import pyxel, random

scroll_x = 0
player = None
enemis =[]

class Chevalier:
    def init(self, x, y):
        self.x = x
        self.y = y
        self.dx = 0
        self.dy = 0
        self.direction = 1
        self.tombe = False
        
    def déplacelemnt (self):
        
        """déplacement avec les touches de directions"""
        
        if pyxel.btn(pyxel.KEY_RIGHT) and self.chevalier_x < 120:
            self.chevalier_x += 1
        if pyxel.btn(pyxel.KEY_LEFT) and self.chevalier_x > 0:
            self.chevalier_x -= 1
        if pyxel.btn(pyxel.KEY_UP) and self.chevalier_y > 0:
            self.chevalier_y -= 1
        if pyxel.btn(pyxel.KEY_DOWN) and self.chevalier_y < 120:
            self.chevalier_y += 1
    
    def draw(self):
        pyxel.cls(0)
        if self.vies > 0 :
            pyxel.blt(self.chevalier_x, self.chevalier_y, 8, 8, 9)
            
class Dragon:
    def init(self, x, y):
        self.x = x
        self.y = y
        self.dx = 0
        self.dy = 0
        self.direction = -1
        self.is_alive = True
        
    def déplacement(self):
        self.dx = self.direction
        self.dy = min(self.dy +1, 3)
        
    def draw(self):
        pyxel.cls(0)
        if self.vies > 0 :
            pyxel.blt(self.dragon_x, self.dragon_y, 0, u, 32, 8, 8)
            
class App:
    def init(self):
        pyxel.init(128, 128, title="Mystère")
        pyxel.load("assets/platformer.pyxres")
        
    def draw(self):
        pyxel.cls(0)
        
        pyxel.camera(scroll_x, 0)
        player.draw()
    
App()

Je n'ai pas d'erreur à l'execution mais rien ne se lance.

D'avance merci !

Windows / Firefox 108.0

3 réponses

  1. Athelas Messages postés 4 Statut Membre
     
    import pyxel
    
    scroll_x = 0
    player = None
    enemis =[]
    
    class Chevalier:
        def init(self, x, y):
            self.x = x
            self.y = y
            self.dx = 0
            self.dy = 0
            self.direction = 1
            self.tombe = False
            
        def déplacelemnt (self):
            
            """déplacement avec les touches de directions"""
            
            if pyxel.btn(pyxel.KEY_RIGHT) and self.chevalier_x < 120:
                self.chevalier_x += 1
            if pyxel.btn(pyxel.KEY_LEFT) and self.chevalier_x > 0:
                self.chevalier_x -= 1
            if pyxel.btn(pyxel.KEY_UP) and self.chevalier_y > 0:
                self.chevalier_y -= 1
            if pyxel.btn(pyxel.KEY_DOWN) and self.chevalier_y < 120:
                self.chevalier_y += 1
        
        def draw(self):
            pyxel.cls(0)
            if self.vies > 0 :
                pyxel.blt(self.chevalier_x, self.chevalier_y, 8, 8, 9)
                
    class Dragon:
        def init(self, x, y):
            self.x = x
            self.y = y
            self.dx = 0
            self.dy = 0
            self.direction = -1
            self.is_alive = True
            
        def déplacement(self):
            self.dx = self.direction
            self.dy = min(self.dy +1, 3)
            
        def draw(self):
            pyxel.cls(0)
            if self.vies > 0 :
                pyxel.blt(self.dragon_x, self.dragon_y, 16, 16, 16)
                
    class App:
        def init(self):
            pyxel.init(128, 128, title="Mystère")
            pyxel.load("assert/platformer.pyxres")
            
        def draw(self):
            pyxel.cls(0)
            
            pyxel.camera(scroll_x, 0)
            player.draw()
        
    App()

    Toutes mes excuses, j'espère que c'est mieux.

    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       

      Tu as lu ma seconde phrase?  init() ne sert à rien.

      0
      1. Athelas Messages postés 4 Statut Membre > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         

        Oui j'ai lu merci, j'ai essayé de procéder autrement, ca avance gentiement, j'ai le fond je cherche à intégrer mon personnage par dessus.

        0
  2. Athelas Messages postés 4 Statut Membre
     
    import pyxel
    pyxel.init(128, 128, title="Mystère")
    pyxel.load("images.pyxres")
    pyxel.playm(0, loop=True)
    
    ##########################
    # APPARENCE DU CHEVALIER #
    ##########################
    
    def affiche_chevalier():
        pyxel.blt(chevalier_x, chevalier_y, 0, 0, 48, 20, 32, 0)
    
    def attaque_chevalier():
        pyxel.blt(chevalier_x, chevalier_y, 0, 24, 48, 32, 32, 0)
    
    ##################
    # GESTION DU JEU #
    ##################
    
    def update():
        global x
    
        if pyxel.btn(pyxel.KEY_D) or pyxel.btn(pyxel.GAMEPAD1_BUTTON_DPAD_RIGHT):
            if (x < 990) :
                x = x + 5
        if pyxel.btn(pyxel.KEY_Q) or pyxel.btn(pyxel.GAMEPAD1_BUTTON_DPAD_LEFT):
            if (x > 0) :
                x = x - 5
    
    #    if pyxel.btnr(pyxel.KEY_SPACE):
    
        if pyxel.btnp(pyxel.KEY_ESCAPE) or pyxel.btn(pyxel.GAMEPAD1_BUTTON_START):
            pyxel.quit()
    
    def draw():
        pyxel.cls(0)
        pyxel.bltm(0, 0, 0, x, 0, 128, 128)
        affiche_chevalier()
        if pyxel.btn(pyxel.KEY_CTRL) or pyxel.btn(pyxel.GAMEPAD1_BUTTON_X):
            pyxel.cls(0)
            pyxel.bltm(0, 0, 0, x, 0, 128, 128)
            attaque_chevalier()
    
    ########################
    #  PROGRAMME PRINCIPAL #
    ########################
    
    chevalier_x = 10
    chevalier_y = 74
    
    x = 0
    
    # Lancement du jeu
    pyxel.run(update, draw)

    Cette fois j'ai le decor, la musique, le chevalier, le scrolling.
    Il me reste les sauts et la physique du sol et des plateformes à intégrer.

    0