Autor Tema: Asignar a procesos funciones para invocar  (Leído 1698 veces)

Yawin

  • Hero Member
  • *****
  • Mensajes: 1091
  • Karma: 45
  • La primera persona que ha "demosceneado" en Bennu.
Asignar a procesos funciones para invocar
« en: Junio 02, 2015, 04:46:47 pm »
¡Hola a todos! Sé que el título no es muy descriptivo pero es que no se cómo contar lo que quiero hacer. Os cuento:

En Unity hay una función que se llama invoke, y funciona pasándole como parámetros una string con el nombre de la función a la que quieres que llame y un int con los milisegundos de delay con la que quieres que la llame.

Mi pregunta es: ¿sería posible en Bennu guardar en una string el nombre de una función a la que quiera llamar y que luego se llame a esa función?
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

warrior_rockk

  • Sr. Member
  • ****
  • Mensajes: 253
  • Karma: 11
Re:Asignar a procesos funciones para invocar
« Respuesta #1 en: Junio 03, 2015, 10:23:12 am »
Me temo que de momento tendrás que hacerlo a mano. Es decir, crearte tu una función que le pases esa string y el tiempo por parámetro y con un case lances la función correspondiente al string

Yawin

  • Hero Member
  • *****
  • Mensajes: 1091
  • Karma: 45
  • La primera persona que ha "demosceneado" en Bennu.
Re:Asignar a procesos funciones para invocar
« Respuesta #2 en: Junio 03, 2015, 12:27:39 pm »
Es que el tema es que quiero hacer una librería que te permita hacer botones y que puedas hacer algo así como:

Código: [Seleccionar]
process main()
   private
       gui_button boton=gui_button(x,y,size_x,size_y,etc...);
   end
   begin
       boton.onclick="función";
   end

function función()
    begin
       loquesea;
    end
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

warrior_rockk

  • Sr. Member
  • ****
  • Mensajes: 253
  • Karma: 11
Re:Asignar a procesos funciones para invocar
« Respuesta #3 en: Junio 03, 2015, 01:48:59 pm »
En Bennu no es posible eso que quieres hacer.

Yawin

  • Hero Member
  • *****
  • Mensajes: 1091
  • Karma: 45
  • La primera persona que ha "demosceneado" en Bennu.
Re:Asignar a procesos funciones para invocar
« Respuesta #4 en: Junio 03, 2015, 02:02:44 pm »
Jo, pues estaría guay que se añadiera en una próxima versión.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5706
  • Karma: 129
    • GECA soft
Re:Asignar a procesos funciones para invocar
« Respuesta #5 en: Junio 03, 2015, 02:40:42 pm »
y para que ? para engorrar el lenguaje ? eso que pides es cambiar la filosofia o estructura de un lenguaje como lo quieras llamar, es hacer del lenguaje algo parecido a los lenguajes con eventos/objetos, para tener eso que pides tambien tienes que tener creada la funcion que llamas en el texto del nombre, que es lo mismo.

Tener

boton.onclick = "función";

a fines practicos es lo mismo que tener  boton_onclick = función();

Yawin

  • Hero Member
  • *****
  • Mensajes: 1091
  • Karma: 45
  • La primera persona que ha "demosceneado" en Bennu.
Re:Asignar a procesos funciones para invocar
« Respuesta #6 en: Junio 03, 2015, 05:29:05 pm »
No, no es lo mismo. Porque con boton.onclick="funcion" estás guardando en una variable esa función y cuando el proceso tenga que echar mano de ella la usará.
boton.onclick=funcion(); lo que hace es ejecutar la función y guardar en una variable el resultado que devuelve.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5706
  • Karma: 129
    • GECA soft
Re:Asignar a procesos funciones para invocar
« Respuesta #7 en: Junio 03, 2015, 09:38:46 pm »
mas bien estas asignando un evento, tal como en programacion windows forms, en bennu si tienes que echar mano de ella como dices pues la llamas y ya esta ;)

Yawin

  • Hero Member
  • *****
  • Mensajes: 1091
  • Karma: 45
  • La primera persona que ha "demosceneado" en Bennu.
Re:Asignar a procesos funciones para invocar
« Respuesta #8 en: Junio 03, 2015, 09:44:15 pm »
Pero si quiero hacer una librería que proporcione botones, textboxes y tal, es mucho más cómodo dar esta opción que proporcionar un sistema de flags que diga si se está pulsando, si no, etc...

Pero bueno, como no puede ser tampoco hace falta darle más vueltas.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5706
  • Karma: 129
    • GECA soft
Re:Asignar a procesos funciones para invocar
« Respuesta #9 en: Junio 03, 2015, 10:16:37 pm »
pues la hay, esta por el foro, que tiene botones, ventanas, etc, estilo windows forms, no recuerdo es donde y quien la hizo, prg quizas ? habria que ver su src para ver como lo hizo

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5706
  • Karma: 129
    • GECA soft

Yawin

  • Hero Member
  • *****
  • Mensajes: 1091
  • Karma: 45
  • La primera persona que ha "demosceneado" en Bennu.
Re:Asignar a procesos funciones para invocar
« Respuesta #11 en: Junio 03, 2015, 10:56:10 pm »
La quise usar, pero no se adaptaba a lo que necesitaba xD
Imagino que soy un tanto rarete con estas cosas.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end