Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
f3de

Sapere Se Un Oggetto è Già Esistente

Recommended Posts

è un pò difficle da spiegare ma ci provo. allora, ho un bottone per scegliere un oggetto, in base a questa scelta viene creato un helper col nome:"Help_nomeoggettoscelto".Ora siccome la scelta dell'oggetto può essere ripetuta più volte avrei bisogno di un controllo che definisca se l'oggetto Help è già stato creato onde evitare di avere più helper con lo stesso nome.

lo script potrebbe essere una cosa del genere :

if helper_da_definire != undefined then ......

la cosa che non riesco a fare è definire il suddetto help visto che il nome preciso non lo posso sapere ma dipende dall'oggetto scelto dal bottone.

per crearlo uso : myhelper.name= ("Help_" + obj.name as string).

per definirlo ho provato cose del tipo: $.("Help_R_Hand_" + obj.name as string), ovviamente senza risultato.

chi mi aiuta?

Share this post


Link to post
Share on other sites

se ho capito devi fare così:

quello che vuoi tu è controllare che esista un oggetto con un nome calcolato in base all'oggetto selezionato, per riferirsi ad un oggetto tramite un nome dinamico devi usare una via traversa:

tenendo presente che in 'obj' hai salvato l'oggetto selezionato

myHelper=execute ("$Help_"+obj.name)

--ora in myHelper se l'oggetto non esiste hai undefined, altrimenti hai l'oggetto precedentemente creato

if myHelper==undefined then

(

....

)

l'execute esegue una stringa come se fosse uno script in questo modo puoi creare un riferimento dinamico tramite il nome dell'oggetto, comunque è spiegato dettagliatamente nella guida del maxscript sotto la voce stringStream values.

fammi sapere

ciao!

Share this post


Link to post
Share on other sites

ok, grazie per la risposta ora proverò così. La guida la guardo sempre prima di chiedere, però il problema è che con lo script ogni tanto non si sa proprio cosa cercare nella guida :)

Share this post


Link to post
Share on other sites

mi sono espresso male, il mio non voleva essere un rimprovero, era un consiglio su come capire tutte le potenzialità dell'execute e anche i suoi difetti, infatti è lento nell'eseguire le stringhe(ma nel tuo caso non si dovrebbe notare e sopratutto non c'è altra strada) quindi non bisogna abusarne.

era solo per questo

capisco che la guida a volte lascia un pò spiazzati ma vedrai che nel max 2008 è stata migliorata notevolmente!!!

ciao

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...
Aspetta! x