Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: AndroidRoca en Abril 17, 2014, 01:40:11 AM

Título: Código GML Heat Seeking Missile / Bullet Example
Publicado por: AndroidRoca en Abril 17, 2014, 01:40:11 AM
Hola he copiado el siguiente código para probarlo :GMS:, pero me muestra error en la linea 4 posición 10: Unknow funtion or script: angle_diff. Y la verdad no sé a que se deba, escribí bien el código pero aún así me marca error.

target = noone;
if (instance_exists(target))
{
        angle_diff(point_direction(x, y, target.x, target.y),
direction);
        direction += sign(diff) * min(abs(diff), 4);
}
if (distance_to_object(obj_colibri)>range)
{instance_destroy();}


Espero que alguien por favor me diga cuál es el error y así solucionarlo, quiero aclarar que apenas estoy viendo el GML, así que soy novato.
gracias por su tiempo.
Título: Re:Código GML Heat Seeking Missile / Bullet Example
Publicado por: penumbra en Abril 17, 2014, 02:08:26 AM
Pues eso: script o función desconocida. GM:S no reconoce esa función angle_diff

Lo más probable es que el código es de GM8, y el autor creó una función personal, conocida como script, para calcular la diferencia entre dos ángulos. Es decir, aparte de este código que has posteado, hay un script de nombre angle_diff que te está faltando incluír.

GM8 no tiene una función así, pero GM:S ya incluye una función para calcular la diferencia entre dos ángulos. Si usas GM:S hay POSIBILIDAD de que escribiendo angle_difference en lugar de angle_diff se solucione el error
Título: Re:Código GML Heat Seeking Missile / Bullet Example
Publicado por: AndroidRoca en Abril 17, 2014, 07:36:09 AM
No, me sigue marcando el mismo error, cambiando angle_diff por angle_difference.
Título: Re:Código GML Heat Seeking Missile / Bullet Example
Publicado por: penumbra en Abril 17, 2014, 08:24:19 AM
Qué versión tienes de GM:S? Si mal no recuerdo, angle_difference es una función agregada recientemente, yo la uso y me la reconoce sin problemas.

Aparte de eso, no me puedo aventurar a todo el proyecto, pero de lo que se ve en el código que pusiste, el script angle_diff no parece afectar ni hacer nada, puede que el código interno del script si modifique variables o haga otros cálculos, pero en el bloque que pusiste, no se ve que haga algo con la diferencia entre ángulos. Para no estar adivinando, lo mejor sería que compartieras el proyecto de donde estás sacando el código.

Según el código, en el árbol de recursos del proyecto original, en la sección SCRIPTS debe haber un script llamado angle_diff, pero como dije, para no basarnos en sólo suposiciones, lo mejor es que subas todo el proyecto
Título: Re:Código GML Heat Seeking Missile / Bullet Example
Publicado por: AndroidRoca en Abril 17, 2014, 04:40:42 PM
Tengo  :GMS: versión 1.1.964, el proyecto completo es este:
This example assumes have a bullet sprite, 16x2 pixels.
Also assumes you have an enemy parent object, obj_enemy.

[b]obj_bullet[/b]
----------------------------------------------------------------------------------------
[u]Create Event[/u]
----------------------------------------------------------------------------------------
target = instance_nearest(x, y, obj_enemy);
speed=5;
alarm[0]=50;
alarm[0] = 60; // Life of missile targetting
friction = -0.1;
range=600;

[u]Alarm 0 Event[/u]
----------------------------------------------------------------------
target = noone;

[u]Step Event[/u]
----------------------------------------------------------------------
target = noone;
if (instance_exists(target)) {
diff = angle_diff(point_direction(x, y, target.x, target.y),
direction);
direction += sign(diff) * min(abs(diff), 4);
}
if (distance_to_object(obj_enemy)>range)
{instance_destroy();}
Título: Re:Código GML Heat Seeking Missile / Bullet Example
Publicado por: eams1986 en Abril 17, 2014, 07:09:32 PM
SI no le ayuda Penumbra Peor yo?????? :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[
lo siento de no poderte ayudar.
Título: Re:Código GML Heat Seeking Missile / Bullet Example
Publicado por: ocarina en Abril 17, 2014, 08:13:51 PM
amigo para usar el angle_difference hay que tener la versión 1.3 o MAYOR ya que NO esta en la versión que tienes ni en la 1.2!!!
Título: Re:Código GML Heat Seeking Missile / Bullet Example
Publicado por: eams1986 en Abril 17, 2014, 08:17:37 PM
saludos OCA....
Título: Re:Código GML Heat Seeking Missile / Bullet Example
Publicado por: AndroidRoca en Abril 17, 2014, 08:37:36 PM
 :( Bueno gracias a todos por la ayuda, ya decía yo que había copiado bien el código. Aprovechando si alguien que tenga la versión 1.3 me pueda dar el código del script angle_difference, para incorporarla al ejemplo, funcionaría?