Vai al contenuto
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?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

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!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

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 :)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

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

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Join the conversation

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

Ospite
Rispondi

×   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.


  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×
×
  • Crea nuovo...