estirar un objeto

Tengo una imagen de una cadena de tamaño 12*30. Quiero crear una animación que dé la sensación de estirar una cuerda. Lo hice escalando la imagen, pero el problema al que me enfrento es que la colisión no ocurre con la imagen escalada. Ocurre solo en la región 12*30, que es el tamaño de la imagen original. Quiero que la colisión ocurra a lo largo de la cuerda. ¿Hay una mejor manera que escalar para hacer esto? Gracias.

image_rect = display.newImage("string.png")
image_rect.x = frog_jump_SheetSet.x + 10
image_rect.y = frog_jump_SheetSet.y + 10
physics.addBody(image_rect )
image_rect.yScale = 0.1
localGroup:insert(image_rect)

image_rect .collision = onStretch
image_rect :addEventListener("collision",image_rect )

tr1 = tnt:newTransition(image_rect,{time = 50,yScale = string_length })

tr2 = tnt:newTransition(image_rect,{delay = 100,time = 50,yScale = 0.1})

preguntado el 12 de junio de 12 a las 09:06

1 Respuestas

El motor Corona Physics no admite el escalado directo, lo único que puede hacer es agregar rectángulos al objeto o eliminarlos según sea necesario para que se ajusten a la nueva forma...

En general, debe evitar usar el escalado o la rotación de la imagen cuando usa la física y, en su lugar, solo cambie la API de física para rotar (usando torque) y no hay nada que pueda hacer al respecto.

Respondido 15 ago 12, 21:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.