GM siempre me hace trolleadas máximas...
(https://gyazo.com/0a9887c222b3fc6b19967e52055e672c.png)
Que alguien me diga... por qué creo un objeto, le asigno un sprite mirándo a la derecha con su origin donde debe de estar (no empecé ayer con GM...) en create le pongo
[gml]direction = point_direction(x,y,algo.x,algo.y);
speed = 4;
image_angle = direction;[/gml]
[spoiler="imagen"](https://gyazo.com/3ee1db7da6d74f5036e3b25d6d236ac4.png)[/spoiler]
inclusive poniendo esa última linea en step, probando, por si acaso... y el objeto va a ese algo.x algo.y pero la imagen se rota donde le da la gana??
me lo explica alguien?!! T_T
Podrías subir una imagen de tu problema y el valor que toma "direction" luego del point_direection...? también, ¿por qué tienes ese código en el evento create, no debería ser en el step?
imagen para qué? tengo exactamente lo que dije, está en create pk apunta hacia eso, pero no es constante. La direction la toma bien, lo que falla es image_angle = direction;
Porque la direction esta recibiendo un valor en radianes y la imagen angle es en grados! Por eso se voltea para otro lado! La función point_direction da como resultado un numero en radianes
Yo probe tu codigo, ademas que muchas veces lo he usado y sin problemas. Fijate si no habra otra pieza de codigo que use image_angle u otro codigo que modifique el sprite.
Cita de: ocarina en Febrero 24, 2016, 07:30:03 PM
Porque la direction esta recibiendo un valor en radianes y la imagen angle es en grados! Por eso se voltea para otro lado! La función point_direction da como resultado un numero en radianes
Y tú de onde has sacao eso? xD
point_direction devuelve el valor en grados desde siempre!! xDDD
(https://i.gyazo.com/521d1f1045b2eaa817c90faa654351f4.png)
ocarina qué dices? xDD estoy hartísimo de usar image_angle = direction xD
3dgeminis, hablo de un objeto NUEVO, con un sprite NUEVO solo para ese objeto que le acabo de asignar, en el cual NADA lo manipula, pk NADA he tocado de NADA y de antes pues es imposible ya que est objeto no existía antes xd, es un erro sin mínimo sentido xD
Solo debes colocar ese codigo en el evento Step :D
EDIT: Sorry no lo habia leído lo del Step xD
probé el código por que no vi nada raro, lo probe con mouse_x y mouse_y , y me funciono perfecto :0
podrías probar imprimiendo que cosa te devuelve el point_direction al algo.x y algo.y
lo otro que se me ocurre, es que si el objeto "algo" esta a la izquierda, el ángulo va a hacer que tu imagen se vea invertida, podrías poner una imagen de como se ve el sprite con el angulo erróneo de preferencia que se vea el objeto "algo", no una imagen del código xD
Proba este archivo, si no te anda debe ser el programa, en ese caso tendras que reinstalarlo. Si te funciona podrias subir un archivo con solo esos 2 objetos para que podamos ver cual es el problema.
Chrom, si lees bien mi primer post, digo que también lo probé ponerlo en step xD
geminis, tu proyecto me funciona perfectamente, tanto en gm8 coomo importado a gms, lo que hay en tu proyecto es exactamente lo mismo que tengo en el mío...
[spoiler](https://gyazo.com/27ca8b14271dc7191012f944af146866.png)
(https://gyazo.com/ea8ffb306567aca7cef70929488d3af7.png)[/spoiler]
la única diferencia es que no se crea con clicks, sino hay un objeto que lo va creanto auto cada x tiempo, lo crea y nada más, ni está emparentado ni nada.. PD: he creado un objeto nuevo (CREADO, NO CLONADO) no fuera que este estuviera corrupto como alguna vez me ha pasado... pero nada, sigue riéndose de mí xD
en fin, aquí el link del proyecto, el objeto en cuestión es en el grupo enemigos, "oworm" el objeto que los crea es "oholeworm"
verán encima de oworm un objeto que dice "qweqwdqw" es el antiguo oworm xD
link.... zzzcuando le de la gana sincronizar a mega....zzz...zzz...zzz... bueno mientras carga, voy probando a ver eso que dice ordo... esto da...
[spoiler](https://gyazo.com/755226f6b49bfda14d0e7236a5b00e54.png)[/spoiler]
puse esto en su draw...
[gml]draw_self();
draw_set_font(fprueba);
draw_text(x,y+50,string(direction)+"-"+string(image_angle));[/gml]
se supone, como ahi dice, que son iguales, como ha de ser, pero no se muestra igual!! sale distinta image angle!!! y el sprite mira hacia la derecha!!! T_T
[spoiler](https://gyazo.com/50153feaad9699090575ed101a338242.png)[/spoiler]
PD: no vayan a nombrarme el origin, lo tengo más atrás pk me interesa por el sitio donde spawnea, eso no afecta en nada pues sigue siendo buen punto de rotación (además de que pasa igual si se lo pongo en su cabecita :B) así que ni lo nombren eeh xD
porfin, ahí va! https://mega.nz/#!gZNDwKJZ!BhWxCnX4Ro1AohZkUkH7nfsei4y070YDQjHlAz2PQ6Q
PD: final, tampoco le pongan pegas a que uso de point direction un parent, pk por eso no hay problema, además, el image angle se pone a partir de su direction, y en el caso de que fuese mala direction, ALMENOS el gusano debería mirar hacia esa dirección, y no otra moviéndose de lado que parece un cangrejo!! xD
Te vas a enojar de seguro pero a mi me funciono bien. Cambie el codigo a STEP y los gusanos me seguian bien, giraban correctamente.
Incluso use el objeto qweqwdqw y todo bien. En STEP cambie image_angle=direction por image_angle=point_direction(x,y,oslimeparent.x,oslimeparent.y) y todo bien.
Lo que pienso es que tienen que ver con el momento en que se crea el gusano; el movimiento del jugador es rapido y cuando el gusano se crea el jugador ya esta en otro lado y da la apariencia que no lo esta mirando (el gusano se crea incluso fuera de la vista y el efecto ve "peor").
Te paso el archivo y probalo (desactive los pinchos para que no me maten)
http://www.mediafire.com/download/a2ra3aw0k1cqoha/Jumping.gmx.rar (http://www.mediafire.com/download/a2ra3aw0k1cqoha/Jumping.gmx.rar)
a ver... por lo rápido del jugador, entiendo que no apunte directo, pero poner image_angle = direction en STEP como yo lo probé, el gusano no mira hacia la dirección a la que va!! no quiero que siga al jugador, el direction está bien, lo que falla es el image_angle!! T_T
si pongo image_angle = point_direction tal tal, irá para un lado y me mirará al player todo el rato y no quiero eso, quiero que en CREATE pille la dirección de donde esté el player (me da igual que al moverse deprisa va a otro lado que captó en ese momento) y que el ángulo del gusano mire hacia donde VA, independientemente de donde vaya, pero que no me haga el cangrejo lol :S
revivo, después de, creo, más de un año, he recuperado MI HAMADO PC!!
retomo este proyecto, porque creo que es el que actualmente más serio me he tomado y está quedando bien...
Sobre lo último que dije, resumido, el efecto que desero, es exactamente lo mismo, que un enemigo disparándote con una pistola, la bala mirará he irá hacia ti, desde un principio, pero una bala no tiene seguimiento, va recto, lo normal? lo que yo he hecho?
create:
direction = point_direction(x,y,player.x,player.y);
image_angle = direction;
speed = 4;
por qué el GM me trollea?, nuevamente? (porfavor, no me hagan pasar tooodo el proyecto :S, estoy hablando de un objeto nuevo, el último que hice, con nuevo todo, que no está relacionado con ningún objeto de todo ell juego, salvo el spawner que lo crea y la colisión con el player para hacerle daño)
Lo único que se me ocurre que podría estar pasando, es que el nuevo objeto tenga el mismo nombre que otro objeto que hayas creado anteriormente, por lo tanto este corrupto o tomando código que quedo por allí perdido.
Dentro de la carpeta del proyecto (documentos/gamemaker/projects/"tu-proyecto") revisa en la carpeta "objects" y con cuidado elimina los objetos que ya no estén usándose dentro del proyecto. Crea una copia del proyecto por si te cargas algo que no deberías.
Intenta de nuevo y cuentas si funciono
no vi ningún confrontamiento, aun así, hice lo que me dijiste, copié la carpeta entera .gmx y borré objetos inutiles, los típicos "object34, object12, etc..." y los mal escritos que se corrigieron al momento pero se guardaron como 2 objetos, comprobando que el original existe claro... y nada.... todo sigue igual T_T
Además, he probado, cambiar el nombre a todos los objetos (x3) relacionados con el objeto problematico y todas sus referencias en esos objetos (es decir, el objeto global que crea el spawner, que spawnea este enemigo, el enemigo es el objeto problematico), y después he buscado el nombre original con "control+shift+F" puse simplemente "worm" para que busque absolutamente todo y no, no hay nada con nombre ni parecido...
Y todo sigue igual...
vaaaaaaaaaaaaaaaale, problema resuelto, despues de... (pera que miro =_=)... MÁS DE UN AÑO!! de que creé este post...
El problema no era algo que puse mal, el problema era algo que AUN NO PUSE!! D:
Pasaba que, el juego es un scrolling, entonces, todo baja, bueno no todo baja, tengo un script donde según voy creando objetos, los que bajan, los voy añadiendo en esa lista... entonces... ese enemigo, no lo añadi, y daba ese efecto raro, al ver que todo baja menos él, parecia que iba mal, pero, en realidad, si nada en el fondo bajara, realmente sí va como debe de ir, nose si me explico xDD
Bueno, gracias a DarkKRuleR, que ha pensado en el scroll y me ha dejado en evidencia xDDD