Probleme Pyxel banque d'image

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. 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
    1. 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. Contributeur

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

        0
      2. @yg_be

        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