Buenas, estoy teniendo un problema con un script que hice para mover objetos como el move_toward pero para que funcione en un sistemita de cutscenes, que es basicamente un array de scripts con sus parametros(que serian las acciones de la escena), y el obj_cutscene lo va recorriendo cuando se crea, ahora el problema es el siguiente script:
[gml]///cutscene_move_object(xx, yy, obj, sp)
var obj = argument2 //objeto a mover
var xx = argument0 //cordenada x del punta a mover
var yy = argument1 //cordenada y del punta a mover
var sp = argument3 //velocidad del movimiento
with(obj){
if (point_distance(x,y,xx,yy) >= sp){
direction = point_direction(x,y,xx,yy)
speed = sp
}else{
speed = 0
x=xx
y=yy
with(other){
cutscene_end_action()
}
}
}[/gml]
Uso este sript para que lo siguiente funcione:
[gml]///@description array(arguments);
var arr;
for (var i=0;i<argument_count;i+=1)
{
arr = argument;
}
return arr;[/gml]
Este script se tendria que ejecutal al final de este array:
[gml]scene_info = array(
array(cutscene_wait,5),
array(cutscene_play_sound,sound_shoot),
array(cutscene_wait,3),
array(cutscene_play_sound,sound_shoot),
array(cutscene_move_object,obj_box,player.x-50,player.y,5),
)[/gml]
Hace todo hasta que llega al script que digo y no hace nada, ya probe cambiando el objeto a mover, agregando otros scripts para que no sea el ultimo en el array pero es lo mismo, se queda ahi y no hace mas nada. Si me ayudan con esto me ahorran un dolor de cabeza.Gracias.
Nose que es lo que pueda estar causando ese problema pero intenta cambiando el primer script por este
[gml]
///cutscene_move_object(xx, yy, obj, sp)
var obj = argument2 //objeto a mover
var xx = argument0 //cordenada x del punta a mover
var yy = argument1 //cordenada y del punta a mover
var sp = argument3 //velocidad del movimiento
with(obj){
repeat(sp) {
if (point_distance(x, y, xx, yy) < sp) break;
x += lengthdir_x(1, point_direction(x, y, xx, yy));
y += lengthdir_y(1, point_direction(x, y, xx, yy));
}
}
[/gml]
Anda perfecto, no se porque, pero me sirve XD, Muchas gracias.