Hola gente. He logrado que un objeto al colisionar con otro objeto rebote de forma vertical utilizando bounce.

El problema es que quiero que cuando rebote también el objeto se voltee para hacerlo más real.

Para el rebote quisiera que el objeto se voltee pero utilizando 1 solo sprite.

Les dejo una imagen como ejemplo:


Como pueden ver, todo lo de negro es un objeto y el pez es otro objeto, entonces cuando colicióne con la parte negra este cambie de dirección volteandolo de forma vertical.

Yo lo podría hacer utilizando un segundo sprite, pero el problema es que estoy trabajando con sprite "SWF" y no me da la posibilidad de agregar varios fotogramas dentro de un solo sprite, y como son muchísimos los enemigos me haría un buen lío.


Tenes la funcion image_xscale que podes usarla poniendo los valores 1 y -1 para derecha e izquierda
image_xscale=1
image_xscale=-1

Al colisionar con la pared podes poner:  image_xscale*=-1 y te cambia automaticamente.

Cita de: 3dgeminis en Julio 12, 2014, 06:17:24 PM
Tenes la funcion image_xscale que podes usarla poniendo los valores 1 y -1 para derecha e izquierda
image_xscale=1
image_xscale=-1

Al colisionar con la pared podes poner:  image_xscale*=-1 y te cambia automaticamente.

El tema es que si te fijas en la imagen que deje como ejemplo, lo negro que vendría a ser la pared es todo un mismo objeto.

Al usar image_xscale*=-1 la primera vez que colisiona se regresa con el cambio horizontal el el pez, pero toca la pared de la parte derecha no voltea nuevamente el objeto.

Porque claro, si usara dos paredes diferentes le podría que en una cuando colicione image_xscale*=-1  y el la otra image_xscale*=1. Pero en este caso se trata de todo una sola pared

Cita de: matiascarpello en Julio 12, 2014, 06:01:15 PM
Hola gente. He logrado que un objeto al colisionar con otro objeto rebote de forma vertical utilizando bounce.

El problema es que quiero que cuando rebote también el objeto se voltee para hacerlo más real.

Para el rebote quisiera que el objeto se voltee pero utilizando 1 solo sprite.

Les dejo una imagen como ejemplo:


Como pueden ver, todo lo de negro es un objeto y el pez es otro objeto, entonces cuando colicióne con la parte negra este cambie de dirección volteandolo de forma vertical.

Yo lo podría hacer utilizando un segundo sprite, pero el problema es que estoy trabajando con sprite "SWF" y no me da la posibilidad de agregar varios fotogramas dentro de un solo sprite, y como son muchísimos los enemigos me haría un buen lío.


Matias entoces eso de trabajar con SWF es algo complicado ya que no te va dejar modificar los sprite lo que tienes que hacer es en adobe flash

en ir a  Archivo **exportar  ***exportar pelicula y entonces la opcion es poner png y hay te dara la opcion de imagenes por separado.


Suerte

Proba de esta forma (el origen debe estar en el centro) :

if position_meeting(x+(sprite_width/2),y,pecera) or position_meeting(x-(sprite_width/2),y,pecera)
{
hspeed*=-1
image_xscale*=-1
}

Image_scalex-1 eso ace el mirror horizontal ponlo al colisionar