entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Como hago para cambiar de posición en Libgdx

Quiero que cuando se encuentre con una plataforma que haga subida,cambie de posición y mi Sprite suba hacía la pendiente.

Pensaba que sería así.Pero me da error en el LogCat.

Mi codigo :

public void update() {
          if(Gdx.input.isTouched()){
             if(piso2.getY()>jugador.getY()){
                cuerpoPiso2.applyLinearImpulse(
                new Vector2(0,100),
                cuerpoPiso2.getLocalCenter(),true);              
             }
             }  

1 Respuesta

1voto

white Puntos75880

se me ocurre que cambiando la gravedad de tu juego logres eso,

if( sprite colisiona con algo )
{
    mundo.setGravity( + 90 )
}

http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/physics/box2d/World.html#setGravity-com.badlogic.gdx.math.Vector2-


Update

.
Te sugiero comenzar a usar un tiled map si vas a comenzar a agregar obstaculos, como tu juego es de plataforma supongo esto será mejor que crear 1 sprite 1 cuerpo para cada entidad del juego.

La idea de tu "plataforma" la puedes realizar con mas fácilidad agregando poligonos como cuerpos al mundo.

Primero necesitas una herramienta para tu tiled map, puedes usar tiled ( http://www.mapeditor.org/ ).
Con este programa necesitas especificar el tamaño de los "cuadrantes", eso depende del conjunto de patrones que tengas como imagen.

http://razonartificial.com/2010/06/engine-v-usando-el-tiled-map-editor/

la creación en libgdx es sencilla:

    TiledMap tiledMap;
    TiledMapRenderer tiledMapRenderer;

    tiledMap = new TmxMapLoader().load(Gdx.files.internal("maps/base_out.tmx").path());
    tiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap);

public void render()
{
    tiledMapRenderer.setView(camera);
    tiledMapRenderer.render();
}

https://github.com/libgdx/libgdx/wiki/Tile-maps


Para poder explicar esto paso a paso tendria que usar 2 o 3 respuestas en esta pregunta. te dejo un proyecto en gradle. abrelo, mira el codigo fuente, las lineas estan comentadas en su mayoría.

el resultado del codigo es un micro juego con un tiled map con poligonos:

hello game

https://db.tt/lXKLmwBy

0voto

carla_Maria comentado

Cuando dices que colisione con algo que quieres decir que tengo que poner mi otro Sprite?O no es así?

0voto

white comentado

depende, es esa "plataforma" de la que hablas un sprite?

0voto

carla_Maria comentado

Si es un Sprite. Quiero que mi jugador suba por mi plataforma.

Y mi Plataforma es de este angulo:

http://gyazo.com/dcce79fbd2abac1b9c1033080f2755c7

¿Como se hace,para que suba una pendiente así?

0voto

white comentado

si plataforma es un sprite, agregaste el cuerpo al mundo? esta realmente con ese angulo el cuerpo de tu plataforma? debería subir normalmente tu personaje con el impulso que le estas dando. revizaste que personaje haga contacto con plataforma?

0voto

carla_Maria comentado

Mi plataforma si que esta con ese angulo pero lo que no se es como hacer para que mi personaje suba en ese angulo,tampoco no se si hace contacto,solo veo que mi personaje sigue la misma posición todo el tiempo y sigue una linía recta todo el tiempo.
Creo que se usa el motor de fisica de Box2D pero no se muy bien como aplicarla.

0voto

white comentado

Actualize mi respuestas, te dejo código de ejemplo y como sugerencia usar tiled map.

saludos!

0voto

carla_Maria comentado

Pero con Tile map no puedo usar este tipo de imagenes, ¿no?

http://gyazo.com/7254a584e17f6dc4826627e183143866

0voto

carla_Maria comentado

Pero con Tile map no puedo usar este tipo de imagenes, ¿no?

http://gyazo.com/7254a584e17f6dc4826627e183143866

0voto

white comentado

¿Como que no? puedes usar las que desees, el fondo es un patron, los sprites pueden ser de varias texturas.
fijate en el zip que te deje, te darás cuenta de como funciona un tiled map, el programa que te mencione es de facil uso.

0voto

carla_Maria comentado

pensaba que en ese programa solo se podía tipo pixel.

Gracias :)

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta