Dibujar y saltar y caminar sobre una plataforma

hola hugo que quiera hacerte una pregunta como hago para crear un mapa de plataforma para mi actor???
a lo que me refiero es que al ejemplo de codigo de martian cuando salta sobre una plataforma y camina sobre ella…

En el manual dice. Existe un progama para hacer eso, se llama tiled Download | Tiled y en la carpeta pilas tenes algunas imagenes para hacer tu propio mapa. =w=

hola gracias por responderme…descargue el tiled pero me encuentro con el problema de que al cargar el tmx o el tiledset para crear el tmx la pantalla se ve en blanco y no puedo dibujar nada

gracias ya lo acabo de solucionar era el Opengl

No entendi muy bien tu problema pero te explico algo para que te ayude a hacer los mapas. (mira la imagen xDD) y asegúrate de que el programa guarda todos los datos en formato CSV.

si gracias lo pude corregir,era que no tenia instalado el opengl
por ese motivo se veia todo blanco…
ya lo cargue en pilas,lo guarde en csv…pero me lee solo la capa 0,la capa 1 esta cargada pero pilas no la hace visible…como hago para ver la capa uno osea los ojectos solidos???'gracias

Para que los objetos que quieres sean solidos, solo tienes que duplicar la capa o/y crear otra capa y remarcar los bloques que queres que sean solidos. (nose si explique bien xDD)

Hola te paso esta imagen para mostrarte que tengo las capas hechas la capa 1 es la de los troncos y la 0 es el paisaje…
cuando ejecuto el juego la capa 1 no se visibiliza …nose a que te referis con remarcar porque los controles de editar poligonos estan desactivados…
te agradesco la ayuda saludos

este es el codigo completo del juego

import pilas
from pilas.actores import Actor
from pilas.comportamientos import Comportamiento

Velocidad=5

pilas.iniciar(titulo=“Mario”)

class Mario(Actor):

def __init__(self, x=0, y=0):
    pilas.actores.Actor.__init__(self, x=x, y=y)
    self.imagen = pilas.imagenes.cargar_grilla("papermario.png",3)  
    self.cuadro = self.imagen
    self.cuadro =0
    self.arriba = 90        
    self.izquierda = -320
    self.definir_cuadro(0)
    self.hacer(Esperando())
    
def definir_cuadro(self, indice):
    self.imagen.definir_cuadro(indice)

def actualizar(self):
    pilas.escena_actual().camara.x=self.x

class Esperando(Comportamiento):

def iniciar(self, receptor):
    
    self.receptor = receptor
    self.receptor.definir_cuadro(0)

def actualizar(self):
    if pilas.escena_actual().control.izquierda:
        
        self.receptor.hacer(Caminando())
    elif pilas.escena_actual().control.derecha:
        self.receptor.hacer(Caminando())

    if pilas.escena_actual().control.arriba:
        self.receptor.hacer(Saltando())

class Caminando(Comportamiento):

def iniciar(self, receptor):
    self.receptor = receptor
    self.cuadros = [0,0,0,0,0,1,1,1,1,1]
    self.paso = 0

def actualizar(self):
    self.avanzar_animacion()

    if pilas.escena_actual().control.izquierda:
        self.receptor.x -= Velocidad
        self.receptor.espejado = True
        
    elif pilas.escena_actual().control.derecha:
        self.receptor.x += Velocidad
        self.receptor.espejado = False
    else:
        self.receptor.hacer(Esperando())
       
    if pilas.escena_actual().control.arriba:
        self.receptor.hacer(Saltando())

def avanzar_animacion(self):
    self.paso += 1

    if self.paso >= len(self.cuadros):
        self.paso = 0

    self.receptor.definir_cuadro(self.cuadros[self.paso])       

class Saltando(Comportamiento):

def iniciar(self, receptor):
    self.sound= pilas.sonidos.cargar('saltar.wav')
    self.dy = 10
    self.receptor = receptor
    self.receptor.definir_cuadro(2)
    self.origen = self.receptor.y

    self.sound.reproducir()
    
def actualizar(self):
    self.receptor.y += self.dy
    self.dy -= 0.2
    
    if self.receptor.y < self.origen :
        self.receptor.y = self.origen
        self.receptor.hacer(Esperando())
        
    if pilas.escena_actual().control.izquierda:
        self.receptor.x -= Velocidad
        
        
        
    elif pilas.escena_actual().control.derecha:
        self.receptor.x += Velocidad

mapa= pilas.actores.MapaTiled(“pww.tmx”)
mario=Mario()

pilas.ejecutar()

hola puede alguien ayudarme con esto??? no encuentro la forma de visivilizar la capa 1 y de que sean solidos…muchas gracias

me he dado cuenta que al escribir
mario=Mario(mapa)

tampoco me visualiza la capa 1 y la camara deja de seguir a la clase Marios dentro de la escena de juego.

ya lo solucione me di cuenta de que no lo dibujaba porque el dibujo de la capa 1 pertenecia a otro conjunto de patrones…asi que dibuje la imagen del tronco en un mismo conjunto de patrones osea en un solo png y ahora pilas me dibuja la capa 1 dibuja en el juego el problema que no son solidos como hago???

puede ser que se que tenga que escribir un atributo en la clase mario para la capa 1 la reconozca como solido???

hice esto y nada…la capa 1 no es solida…

mapa= pilas.actores.MapaTiled( “pww.tmx”)
mario=Mario(pilas.actores.Mapa())

ahora se ve la capa1 pero no es solida el juego se ve asi

Si no recuerdo mal, la capa sólida es la capa 0, es decir, con lo que quieras que se colisione, debe estar necesariamente en la capa 0. La 1 es para fondos, adornos, etc.

Hice un video para que te pueda ayudar en algo xDD

lo hice pero igual no resulta nada…estuve viendo que hay en codigo de martian atributos y metodos sobre suelos solidos

perdon…estuve viendo que el codigo martian tiene atributos y metodos sobre solidos en la clase Martian para los mapas

Osea, tu personaje no tenia el atributo para mapatiled ? xDD