Try catch while y tiro porque me toca
Hola. Bueno, he aquí mi pregunta. Me he topado con un problema y es he hecho un script para una mano por el cual seleccione un número de dedos y falanges por spinner, ¿ok? Bien, pues resulta que los puntos de las falanges van emparentados. Por ejemplo, si quiero que la mano tenga 3 falanges tengo:
Código PHP:
falange1.parent = falange 2;falange2.parent = falange3.
el problema es que, si decido que quiero la mano tenga 2 falanges la falange3 no existe, con lo cual peta el script porque no encuentra el padre de la falange2.
La solución guarra que he hecho para que todo funcione bien es:
Código PHP:
try (falange1.parent = falange 2) catch (),try (falange2.parent = falange 3) catch (),
.
Como aquí es solo una línea no parece muy guarrada, pero en el script donde tengo además las combinaciones del número de dedos a la que he hecho lo mismo pues queda algo chapucero. Funciona todo bien pero me gustaría saber cómo hacerlo como toca. Sé que hay algo de while no sé, no sé cuántos, pero no se usarlo. Gracias.
Try catch while y tiro porque me toca
Ahí huele a que necesitas una función recursiva. A ver qué piense.
Try catch while y tiro porque me toca
Puede que sea una guarrería, o que no funcione.
Código:
For ($f = 1; $f < 10; $f++).
{.
$falangeactual = falange$f.
$falangepadre = falange.($f+1).
If (.is_object($$falangepadre)) break.
$$falangeactual, parent = $$falangepadre.
}.
Try catch while y tiro porque me toca
Gracias viriathus, mañana lo pruebo en el trabajo. De todas formas, sea o no guarrería, lo es menos que el mío. Un saludo y gracias.
Try catch while y tiro porque me toca
Lo que te ha puesto viriathus es código en c. Tendrás que traducirlo a Maxscript. El problema es que en Maxscript no se pueden computar los nombres de los nodos en tiempo de ejecución, y hay que usar execute nombre_objeto, veamos que se me ocurre.
Try catch while y tiro porque me toca
A ver, una función:
Código:
function linkarenorden objetos =
(.
for cont = 1 todo (objetos, count-1) do.
objetos[cont].parent=objetos[cont+1]
).
.
)
A esa función le pasas un array de objetos que te hayas construido en orden ascendente. Es decir, el primero es el último hijo, el siguiente es su padre.
Try catch while y tiro porque me toca
Cita:
Lo que te ha puesto viriathus es código en c. Tendrás que traducirlo a Maxscript. El problema es que en Maxscript no se pueden computar los nombres de los nodos en tiempo de ejecución, y hay que usar execute nombre_objeto, veamos que se me ocurre.
Es que como el código de Shenmue venía precedido de código php, creía que estaba usando php5. Ya me parecía rara la situación.
Por cierto, mi código si es php.
Try catch while y tiro porque me toca
Ya me parecía raro tanto dólar. O estabas obsesionado con la pasta (muy comprensible), o las cosas no eran lo que parecían.
Try catch while y tiro porque me toca
Gracias a los 2. La verdad es que ni siquiera había considerado lo del php, de hecho, no sé lo que es. ¿por eso me salía el = y el () en verde? Esto de la programación es un misterio para mi.