Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: esbxp en Julio 16, 2014, 01:05:19 AM

Título: Hacer que el Path Siga Junto al Scroll del View
Publicado por: esbxp en Julio 16, 2014, 01:05:19 AM
Hola: Tengo este código:


/*
  Fijar el Path desde el Principio
  arg0 = lista de path a elejir
  arg1 = velocidad
  arg2 = 0 hacia el final
         1 hacia el Final Continuo
         2 continua desde la actual posicion
         3 hacia el principio Continuo
  arg3 = false: desde el Primer Punto
         true : ir hacia el primer punto del Path
         
  Llamada  Ejemplo:
           Enemy_PathFixer( choose(path00, path01, path02),
                            choose(4,5,6),
                            choose(1,3)
                            true )
                                   
*/

if(not bPath){
   bPath  = true
   myPath = argument0
   mx = path_get_point_x(myPath, 0)
   my = path_get_point_y(myPath, 0)
   px = mx + view_xview
   py = my + view_yview
   path_shift(myPath, px, py)
   
   
} else {
   //. Ir Hacia el 1er Punto del Path
   if(argument3 > 0){
      if(not bBase){
        move_towards_point(px, py, argument1)
        if(point_distance(x,y, px,py) < 0.50) {
          show_debug_message("Iniciar Path Caso(2)")
          x = px; y = py;    bBase = true
          path_start(myPath, argument1, argument2, false)
        }
      }
   //. Empezar desde el 1er Punto del Path   
   } else {
      if(not bBase) {
        show_debug_message("Iniciar Path Caso(1)")
        x = px; y = py;   bBase = true
        path_start(myPath, argument1, argument2, false)
      }
   }
}

/*
  Si esta en el Punto del Path se Inicia
  un Scroll del Path para desplazarlo junto
  al view_yview -= 1
*/
if(bBase){
  var i, _x, _y;
  for(var i = 0; i < path_get_number(myPath); i++)  {
      _x = path_get_point_x(myPath, i) + 0;
      _y = path_get_point_y(myPath, i) - 1;
      path_change_point(myPath, i, _x, _y, 100);
      //show_debug_message("Path("+string(i)+"):("+string(_x)+","+string(_y)+")")
  }
  //show_debug_message("----------------------------")
}


Si tienen un objeto view, que lo van deslizando, vertical mente, hacia arriba, luego cuando la instancia entre en el view, este script, le asigna una path, previamente definido, el problema es que el view, sigue avanzando, pero el path , una vez que entra en ejecución para ese objeto, no logra seguir el deslizamiento del view, a pesar de que los puntos del path, se van modificando, a la misma velocidad que el view se sigue deslizando, alguna sugerencia, o corrección, que no logro ver,,, XD,  please help !!!!



Título: Re:Hacer que el Path Siga Junto al Scroll del View
Publicado por: Guacusio en Julio 16, 2014, 04:31:58 PM
Puedes crear una instancia auxiliar invisible en las coordenadas 0,0 a la que le asignas la path con movimiento absoluto. A la instancia view le indicas en el evento step que sus coordenadas x,y son las de la instancia auxiliar invisible,más las coordenadas del view, más una cantidad fija fx,fy que corresponde a las coordenadas relativas al view de donde quieres que parta el movimiento. Esto hace que la instancia view siga la path relativa a las coordenadas del view en todo momento. En la imagen de abajo se muestra esto.

(http://sia1.subirimagenes.net/img/2014/07/16/140716043720733852.png) (http://www.subirimagenes.net/i/140716043720733852.png)