2015-03-30 1 views
0

Je souhaite utiliser la valeur de position de l'objet que je sélectionne dans le script max. Je comprends que c'est facilement possible via '$ .pos.X' et quelques autres méthodes. Mais la seule limitation est que je dois cliquer sur un bouton pour exécuter ce script ou le lier à une fonction.Utiliser les détails de transformation de l'objet dans maxscript lors de la sélection

Je cherche à utiliser les détails en temps réel, dès que je sélectionne un objet, il devrait afficher les propriétés dans une zone de texte. Toute aide à ce sujet serait grandement appréciée. Un grand merci à l'avance ..

Répondre

1

Il y a un sujet dans la référence maxscript sur les rappels, c'est ce que vous voulez. A titre d'exemple:

fn fn_handleSelectionChanged evnt handle = 
(
    if selection.count == 1 do 
    (
     local obj = selection[1] 
     format "%.pos.x: %\n" obj.name obj.pos.x 
    ) 
) 

::callbackItem = NodeEventCallback mouseUp:on delay:1000 selectionChanged:fn_handleSelectionChanged 
+0

Merci pour la réponse .. J'ai lu le fichier de référence maxscript et votre exemple. Je suis coincé à un endroit. Veuillez cliquer sur ce lien [link] (https://docs.google.com/document/d/1387m0BqH_Q4FtemsBBuq3-HpWm2ACgMn1D1zRX6mqig/edit?usp=sharing) Je suis en mesure d'exécuter la fonction d'impression directement en rappel, mais je ne peux pas appeler une fonction définie – Parminder

+1

Lorsque vous faites référence à la fonction comme ceci, elle doit être visible depuis la portée globale. Dans votre cas, une façon de faire est d'utiliser '" scale1.fn_handleSelectionChanged() "' à la place. – Swordslayer