Resultados 1 al 7 de 7

Tema: Duda con llamada a funciones en maxscript

  1. #1
    Fecha de ingreso
    Jun 2008
    Mensajes
    3

    3dsmax Duda con llamada a funciones en maxscript

    Hola a todos, la duda que tengo en Maxscript es que, si de alguna forma se puede asignar una llamada de una función a una variable, de modo que cada vez que use esa variable lo que haga el Maxscript es llamar a esa función, muchas gracias de antemano.

  2. #2
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,685

    Duda con llamada a funciones en maxscript

    No sé si Maxscript lo permite, en Python se puede, pero en mxs no estoy tan seguro. Lo que sí puedes hacer es asignar el valor de retorno de la función (return) a una variable en una línea, no es exactamente lo que buscas pero es lo más aproximado que se me ocurre.

  3. #3
    Fecha de ingreso
    Jun 2008
    Mensajes
    3

    Duda con llamada a funciones en maxscript

    No sé si Maxscript lo permite, en Python se puede, pero en mxs no estoy tan seguro. Lo que sí puedes hacer es asignar el valor de retorno de la función (return) a una variable en una línea, no es exactamente lo que buscas pero es lo más aproximado que se me ocurre.
    Muchas gracias por la respuesta he seguido mirando por ai y parece ser que, la solución que me sujieres es lo más parecido a lo que quiero, así que, muchas gracias.

  4. #4
    Fecha de ingreso
    Apr 2002
    Mensajes
    14,651

    Duda con llamada a funciones en maxscript

    Si defines una función. Fn hacealgo =
    (Hace cosas). Sí puedes asignarla a una variable y ejecutarla dentro de otra función.

  5. #5
    Fecha de ingreso
    Apr 2005
    Mensajes
    1,621

    Duda con llamada a funciones en maxscript

    Aquí va el comentario bestia: Por que no llamas a la función cuando la necesites y punto? Es que soy muy obtuso y no le veo la gracia.
    Aquel que pregunta, es tonto un rato. Aquel que no pregunta, es tonto toda la vida.

  6. #6
    Fecha de ingreso
    Jun 2008
    Mensajes
    3

    Duda con llamada a funciones en maxscript

    Bueno os comento un poco más extesamente lo que quiero hacer, mirad en un pequeño script que estoy haciendo pretendo dar la opción al usuario qué tipo de objeto (de los nativos del MSX, cajas, esferas, conos), quiere que se muestre en pantalla, entonces con un ut que he creado y al que he añadido un dropdownlist, donde doy ha elegir el objeto al usuario, pretendo de alguna forma añadir un case of que dependiendo del selection del dropdownlist en una variable meto la llamada a la función que crea el objeto, tal que así:
    Case ut, dropdownlist, selection of.
    1 : objeto = llamada a función que crea una caja.
    2 : objeto = llamada a función que crea una esfera.
    3 : objeto = llamada a función que crea una cono.
    4 : objeto = llamada a función que crea una pirámide).

    Que ocurre que esto sirve perfectamente si directamente igualo la variable objeto a box(), sphere (), cone (), pyramid() o la que sea, pero como lo que hace mi script es crear una matriz a la que el usuario pone el número de filas y columnas si cada vez que va a crear un nuevo objeto para meter en la matriz el programa tiene que evaluar el case of pues pienso que ai se pierde mucho tiempo si directamente asigno la llamada a box() o lo que sea a una variable, así solo tendría que evaluar el case una sola vez, bueno ya sé que es un rallázo increíble, pero a ver si término mi script y lo cuelgo para que lo veáis.

  7. #7
    Fecha de ingreso
    May 2008
    Mensajes
    55

    Duda con llamada a funciones en maxscript

    Aquí te dejo un ejemplo de lo que quieres, si es que te he entendido bien.

    Funciones -.

    Fn esferas cantidad = (tpos_x = 0 tfor i = 1 todo cantidad do (t n = i as string objeto[i] = sphere name: (bola+n) Radius: (i*5) pos:[pos_x,0,0] pos_x += (i*5)+((i+1)*5) t)).

    Fn cajas cantidad = (tpos_x = 0 tfor i = 1 todo cantidad do (t n = i as string objeto[i] = box name: (caja+n) length: (i*5) width: (i*5) height: (i*5) pos:[pos_x,0,0] pos_x += (i*5)+((i+1)*5) t)).

    Fn cilindros cantidad = (tpos_x = 0 tfor i = 1 todo cantidad do (t n = i as string objeto[i] = cylinder name: (cono+n) Radius: (i*5) height: (i*5) pos:[pos_x,0,0] pos_x += (i*5)+((i+1)*5) t)).

    Cambia la variable tipo valores{1,2,3} -.

    Tipo = 3.

    Case tipo of (t1: obj = esferas 3 t2: obj = cajas 5 t3: obj = cilindros 10).

    Espero que te ayude.

    Edito para separar los : (de los valores en los constructores para que no salga el emoticono, así que, tenlo en cuenta cuando lo pruebes.
    Última edición por Gsus3D; 25-06-2008 a las 10:47

Temas similares

  1. La llamada de lo salvaje
    Por 3dpoder en el foro Cine y TV VFX
    Respuestas: 2
    : 01-06-2020, 16:22
  2. La llamada del mar
    Por 3dpoder en el foro Videojuegos
    Respuestas: 0
    : 21-05-2020, 16:23
  3. Duda creación de splines con maxscript
    Por quicha97 en el foro Plugins y Scripts
    Respuestas: 1
    : 01-05-2017, 04:15
  4. Duda maxscript
    Por Elune en el foro Plugins y Scripts
    Respuestas: 3
    : 21-04-2008, 11:19
  5. Una cabeza llamada
    Por JUANMAX en el foro Trabajos Finalizados
    Respuestas: 17
    : 20-09-2003, 02:45