[FISica] Mi personaje se va hacia arriba

Hola!, soy nuevo en la comunidad. Resulta que agrego mi personaje de forma humana , y se me va hacia arriba y se sale de la pantalla(cuando lo agrego al motor de fisicas). Eh intentado solucionarlo pero no pude. que podra ser? adjunto mi codigo. Muchas gracias!

–display.setStatusBar(display.HiddenStatusBar)

local physics= require(“physics”)

physics.start()

physics.setGravity( 0, 10 )

physics.setScale( 30 )

–physics.setDrawMode( “normal” )


local backbackground = display.newImage(“Background.png”)

backbackground.x = 240

backbackground.y = 160


local piso = display.newImage(“Piso.png”)

piso.x = 240/2

piso.y = 725


local luna = display.newImage(“Moon.png”)

luna.x = 65

luna.y = 30

luna:scale(0.5,0.5)


local personaje = display.newImage(“Personaje.png”)

personaje.x = 180

personaje.y = 380

personaje:scale(0.17,0.17)


physics.addBody( piso, “static”, { friction=0.5, bounce=0 })

physics.addBody( personaje,“dynamic”,  { density=3.0, friction=0.5, bounce=0.3})

Agregue estas lineas

piso:setReferencePoint(display.BottomCenterReferencePoint)

y parece que mejoro, el personaje ahora flota en medio de la pantalla, ya no se sale de ella. pero aun no logro que toque el piso del juego

Hola @juanMartin16,

Los objectos de física se deben basar alrededor de un punto central. Por favor no los posiciones usando puntos de referencia de las esquinas.

Brent Sorrentino

pero si quito la linea piso:setReferencePoint(display.BottomCenterReferencePoint) el personaje se va de la pantalla  :( estoy entendiendo algo mal , como lo puedo solucionar? 

mi idea era simplemente que el personaje callera al suelo tal como sucede en el sample “colisionDetection” de la carpeta physics.
cambie la linea que me dijiste por esta:      display.CenterReferencePoint

Creo saber que esta pasando. active la vista en mdoo DEBUG y veo que los limites de mis objetDisplay coinciden con el tamaño de la imagen PNG que edite. es decir, edite una luna y luego la exporte a PNG, al arbirla en Corona, los limites de la luna no es el circulo en si de la figura sino el cuadrado de la imagen completa… voy a tratar de arreglarlo y ver si era eso 

bueno, por si a alguien mas le pasa, dejo plasmada mi solucion.el problema era que cuando yo exportaba la imagen esta adquiria una resolucion determinada. cuando yo iva a “escalarla” dentro del sim, a la vista la imagen se achicaba pero a ojos del motor de fisicas, la imagen sigue manteniendo su tamaño original, no se modifica. tambien el problema era un area trasnparente que hacia la imagen mas grande sin uno darse cuenta. aun sigo tratando de hacerlo bien . 

Agregue estas lineas

piso:setReferencePoint(display.BottomCenterReferencePoint)

y parece que mejoro, el personaje ahora flota en medio de la pantalla, ya no se sale de ella. pero aun no logro que toque el piso del juego

Hola @juanMartin16,

Los objectos de física se deben basar alrededor de un punto central. Por favor no los posiciones usando puntos de referencia de las esquinas.

Brent Sorrentino

pero si quito la linea piso:setReferencePoint(display.BottomCenterReferencePoint) el personaje se va de la pantalla  :( estoy entendiendo algo mal , como lo puedo solucionar? 

mi idea era simplemente que el personaje callera al suelo tal como sucede en el sample “colisionDetection” de la carpeta physics.
cambie la linea que me dijiste por esta:      display.CenterReferencePoint

Creo saber que esta pasando. active la vista en mdoo DEBUG y veo que los limites de mis objetDisplay coinciden con el tamaño de la imagen PNG que edite. es decir, edite una luna y luego la exporte a PNG, al arbirla en Corona, los limites de la luna no es el circulo en si de la figura sino el cuadrado de la imagen completa… voy a tratar de arreglarlo y ver si era eso 

bueno, por si a alguien mas le pasa, dejo plasmada mi solucion.el problema era que cuando yo exportaba la imagen esta adquiria una resolucion determinada. cuando yo iva a “escalarla” dentro del sim, a la vista la imagen se achicaba pero a ojos del motor de fisicas, la imagen sigue manteniendo su tamaño original, no se modifica. tambien el problema era un area trasnparente que hacia la imagen mas grande sin uno darse cuenta. aun sigo tratando de hacerlo bien .