![]() |
|
Bienvenido a Foros 3DPoder.. Usted esta viendo este foro como invitado, no esta registrado todavía, lo que limita su visión del foro. Si quiere unirse gratis a la mayor comunidad del diseño gráfico de habla hispana, tener acceso a publicar y responder mensajes, tener mensajes privados con otros miembros(PM), responder encuestas, publicar sus imágenes para que las vea el resto del mundo, tener acceso a los video_tutoriales, y muchas cosas más, no lo dude. Registrarse es rápido, simple y gratuito, agregate hoy a la mayor comunidad 3D de habla hispana! ! Si usted tiene algún problema con su registro, por favor , díganoslo aquí.
|
![]() |
|
|||||||
|
|
#1 |
|
Miembro Nuevo
Fecha de Ingreso: junio-2008
Mensajes: 3
|
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.
|
|
|
|
| Enlaces patrocinados |
|
|
#2 |
|
just another monkey
|
No sé si maxscript lo permite, en Python se puede pero en MXS no estoy tan seguro. Lo que si puedes hacer es asignar el valor de retorno de la función (return) a una variable en una linea, no es exactamente lo que buscas peeeero es lo más aproximado que se me ocurre
|
|
|
|
|
|
#3 |
|
Miembro Nuevo
Fecha de Ingreso: junio-2008
Mensajes: 3
|
Muchas gracias por la respuesta he seguido mirando por ai y parece ser que la solucion que me sujieres es lo mas parecido a lo que quiero, asi que muchas gracias.
|
|
|
|
|
|
#4 |
|
8======D
Fecha de Ingreso: abril-2002
Ubicación: Granada
Mensajes: 13,373
|
Si defines una función...
fn hacealgo = ( hace cosas ) ... sí puedes asignarla a una variable y ejecutarla dentro de otra función
__________________
-=: mi blog de desarrollo :=----- last update 10/07/08 |
|
|
|
|
|
#5 |
|
Senior Member
Fecha de Ingreso: abril-2005
Ubicación: Madrid
Mensajes: 632
|
Aqui va el comentario bestia:
Por que no llamas a la funcion cuando la necesites y punto? Es que soy mu obtuso y no le veo la gracia.
__________________
Aquel que pregunta, es tonto un rato. Aquel que no pregunta, es tonto toda la vida. |
|
|
|
|
|
#6 |
|
Miembro Nuevo
Fecha de Ingreso: junio-2008
Mensajes: 3
|
bueno os comento un poco mas extesamente lo que quiero hacer, mirad en un pequeño script que estoy haciendo pretendo dar la opción al usuario que tipo de objeto (de los nativos del MSX, cajas, esferas, conos, etc...), quiere que se muestre en pantalla, entonces con un rollout 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 funcion que crea el objeto, tal que así:
case rollout.dropdownList.selection of ( 1 : objeto = "Llamada a funcion que crea una caja" 2 : objeto = "Llamada a funcion que crea una esfera" 3 : objeto = "Llamada a funcion que crea una cono" 4 : objeto = "Llamada a funcion que crea una piramide" ) 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, asi solo tendria que evaluar el case una sola vez, weno ya se que es un rallazo increible pero a ver si termino mi script y lo cuelgo para que lo veais. |
|
|
|
|
|
#7 |
|
Miembro
|
Aqui te dejo un ejemplillo de lo que quieres,,, si es que te he entendido bien
------------------------------------------------------------------------------------------------ ------------------------- FUNCIONES ----------------------------------------------------- ------------------------------------------------------------------------------------------------ fn Esferas cantidad = ( pos_x = 0 for i = 1 to cantidad do ( 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) ) ) fn Cajas cantidad = ( pos_x = 0 for i = 1 to cantidad do ( 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) ) ) fn Cilindros cantidad = ( pos_x = 0 for i = 1 to cantidad do ( 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) ) ) ------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------ ------------------------- CAMBIA LA VARIABLE TIPO valores{1,2,3} ---------------------------- ------------------------------------------------------------------------------------------------ tipo = 3 case tipo of ( 1: objs = Esferas 3 2: objs = Cajas 5 3: objs = Cilindros 10 ) ------------------------------------------------------------------------------------------------ Espero que te ayude. EDITO para separar los : ( de los valores en los constructores para que no salga el emoticono Última edición por Gsus3D fecha: 25 jun 2008 a las 03:47. |
|
|
|
![]() |
| Usuarios activos actualmente viendo este tema: 1 (0 miembros y 1 visitantes) | |
| Herramientas | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Duda Float Expression Y Script | JM2S | Script | 3 | 01 jun 2008 01:26 |
| Duda MaxScript | Elune | Script | 3 | 21 abr 2008 04:19 |
| Duda sobre las escuelas internacionales de animación 3D, vfx.... | kendio | Educación 3d, escuelas y universidades | 2 | 21 ene 2007 13:06 |
| MAXScript | 3dpoder | 3DStudio Max | 0 | 13 ago 2005 15:28 |
|
|