Febrero 18, 2010, 09:45:18 PM Ultima modificación: Febrero 20, 2010, 01:34:18 AM por 15689
buenas, mi problema es el siguiente, estoy creando un castlevania y estoy programando los moviemntos del personaje principal, el mismo ataca con un latigo, todo bien hasta hay, el problema es que cuando el personaje salta y ataca con el latigo y el mismo deberia de estar al lado de la mano del personaje en cambio ha veces esta por encima de la misma o por debajo.
les paso una imagen:


en si tendria que ser de esta manera

que quede "en linea" con el brazo

el codigo para que el latigo quede en la posicion es
if agachado=false
{
if simon.image_xscale=-1
 {
 x=simon.x-16
 y=simon.y-6
 }
if simon.image_xscale=1
 {
 x=simon.x+17
 y=simon.y-6
 }
}


desde ya gracias

EDIT: el codigo va en el step del latigo

Mmmm... quizas sea por el orden de dibujado (se actualiza la posicion un paso por detras del objeto referenciado). ?Has probado a colocarlo en el evento "begin_step"?

si ya lo habia probado y da el mismo resultado, tambien trate de hacerlo en el step del personaje, pero sigue dando lo mismo

Entonces el problema debe ser el origen de los sprites.
Asumo que el problema solo ocurre al usar el l?tigo en el aire y que al usarlo en el piso funciona bien. Prob? a modificar un poco el origen vertical del sprite del personaje saltando.
Vim.

no entiendo, como que el origen vertical, es decir modificar el sprite del latigo bajamdolo mas?
pero eso me afectaria por que cuando ataca en el piso lo hace bien

No. Abr? el sprite del personaje saltando y fijate donde dice "Origin", ah? cambi? el valor "Y", por ejemplo, sumale 10 y fijate si el l?tigo se ve mejor ajustado.
Vim.

no creo que eso arregle algo, veras es que ha veces dibuja el latigo por debajo del brazo como por arriba, y no siempre a la misma distancia.
lo que me di cuenta que el problema estaria con el latigo.y dado que el latigo.x esta a la distancia que deseo aparentemente.

Seguramente es lo que dice Wadk, haz la prueba, pon que cuando salte, no cambie el sprite y f?jate si se sigue descuadrando.

#8 Febrero 19, 2010, 07:20:00 PM Ultima modificación: Febrero 19, 2010, 07:24:42 PM por Texic
Pone ese codigo en el step del personaje, en vez del step del l?tigo, lo que te debe
estar pasando es que el l?tigo tiene un nivel de importancia mayor y ejecuta sus sentencias
antes que el personaje. Prob? eso
Suerte  :)
PD: Tambien agrega
x=simon.x+simon.hspeed-16
y
y=simon.y+simon.vspeed-6




hice lo que me aconsejo texic, y funciona solo que tiene un problema, al momento que el personaje toca el piso el latigo sigue casendo por unos instantes y luego queda en la posicion que tendria que estar, no se si me explico, les paso el nuevo codigo del step


if latigo.agachado=false
{
if image_xscale=-1
  {
  latigo.x=simon.x-16
  latigo.y=simon.y-6
  latigo.x=simon.x+simon.hspeed-16
  latigo.y=simon.y+simon.vspeed-6
  }
if simon.image_xscale=1
  {
  latigo.x=simon.x+17
  latigo.y=simon.y-6
  latigo.x=simon.x+simon.hspeed+17
  latigo.y=simon.y+simon.vspeed-6
  }


Prob? a poner el c?digo End Step (pens? que ya hab?as probado, pero parece que no) pero sin lo que dijo Texic a ver si funciona.
Vim.

funciono, lo puse en el end step y funciona perfecto
crei que ya lo habia probado en el end step, pero parece que no :-[
bueno muchas gracias a todos