Vai al contenuto
OneMan

Character Gui In Max

Recommended Posts

Ciao a tutti,

volevo fare una gui su max.... quindi un immagine di sfondo e dei bottoni posizionati in "determinati" punti....

qualcuno ha dei tutorial? consigli?

io stavo vedendo l'immTag ma nonriesco a caricare un bmp....

in attesa di qualche dritta

ciao e

grazie di tutto

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

guarda qui

comunque se cerchi nell'help 'rollout clauses'.

Gli elementi dell'interfaccia che ti servono sono:

- Rollout

- Bitmap(elemento in cui mettere la tua bitmap)

- button

se hai domande son qua.

ciao

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
guarda qui

comunque se cerchi nell'help 'rollout clauses'.

Gli elementi dell'interfaccia che ti servono sono:

- Rollout

- Bitmap(elemento in cui mettere la tua bitmap)

- button

se hai domande son qua.

ciao

grazie mille coen, sei sempre genitlissimo

ora guardo...

non ho ancora guardato, quindi scusami tanto se ti faccio una domanda probabilmente stupida ( sforttu questi 2 minuti liveri che ho, e "sfruttarti" ).... :-)

con bitmap, non posso decidere di trasformare delle aree in bottoni ( spero di essermi spiegato) quindi dovrei fare un "puzzle" di bitmap?....

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Ospite
Ciao a tutti,

volevo fare una gui su max.... quindi un immagine di sfondo e dei bottoni posizionati in "determinati" punti....

qualcuno ha dei tutorial? consigli?

io stavo vedendo l'immTag ma nonriesco a caricare un bmp....

in attesa di qualche dritta

ciao e

grazie di tutto

scusa la mia ingoranza ma cosa è una GUI?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

@ippopotamo

è un'interfaccia grafica.

comunque puoi assegnare ad un pulsante un'immagine, quindi posizionando il pulsante in un determinato punto dell'immagine ed associando al pulsante il corrispondente ritaglio dell'immagine puoi ottenere quello che vuoi.

ciao


Modificato da coren

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Ospite
@ippopotamo

è un'interfaccia grafica.

comunque puoi assegnare ad un pulsante un'immagine, quindi posizionando il pulsante in un determinato punto dell'immagine ed associando al pulsante il corrispondente ritaglio dell'immagine puoi ottenere quello che vuoi.

ciao

ma intendi come la persoanlizzazione della main tool bar ? dove si possono inserire le immagini che desidere da associare a determinati comandi ?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Scusami mi sono dimenticato di scrivere che la seconda parte era per oneMan.

Con l'interfaccia normale id max puoi solo associare icone, però scriptando è possibile creare 'parti sensibili'in un'immagine, ma il tutto non dentro una toolbar, ma dentro una dialog o un rollout creato con maxscript.


Modificato da coren

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Scusami mi sono dimenticato di scrivere che la seconda parte era per oneMan.

Con l'interfaccia normale id max puoi solo associare icone, però scriptando è possibile creare 'parti sensibili'in un'immagine, ma il tutto non dentro una toolbar, ma dentro una dialog o un rollout creato con maxscript.

ciao,

stavo provando un pò con l'imgTag...

maxscript è VERAMENTE stupido, ma spero tantissimissimo di sbaglairmi ( quindi per favore sbattemi in faccia che sto dicendo una stupidata :-) ) con l'imgTag io posso taggare il mouse su un bitmap...solo che il bitmap è monocolore ( e quindi che senso ha????) non sono riuscito a mettere una mia bitmap....

qualcuno sa dirmi come mai? o dove sbaglio?????

grazie mille

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

sinceramente certe affermazioni te le puoi anche risparmiare..... a meno che tu non stia cercando di farmi passare la voglia di darti una mano....

Comunque Basta associare all'imgTag una bitmap aperta da file.

Che cosa c'è di così difficile?

Ad esempio guardiamo la guida:

The syntax is:

imgTag <name> [caption] [tooltip:<string>] [style:<key>] [bitmap:<bitmap>] [opacity:<float>] [transparent:<color>]

da 'bitmap:<bitmap>' cosa si deduce? che al posto di <bitmap> devi mettere una variabile di tipo bitmap.

Se nella guida cerchi bitmap trovi l'argomento 'bitmap values'.

nella prima parte è ampliamente spiegato come funziona e inoltre hai diversi possibili costruttori, quello che secondo me può fare al caso tuo è:

openBitMap <filename_string>

Returns a bitmap value containing the contents of the specified bitmap file. The bitmap value returned is a load-only bitmap.

If the specified bitmap file does not exist, a runtime error was generated in 3ds Max 9 and earlier.

quindi devi assegnare una variabile di tipo bitmap all'imgtag che creerai col costruttore che ti ho postato sopra(o se preferisci uno degli altri possibili)

imgtag b5 "imgtag" align:#center bitmap:(openBitMap "C:\\Documents and Settings\\Michele\\My Documents\\b.bmp")

questo è un esempio veloce poi ci sono molte personalizzazoni possibili.

ciao

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
sinceramente certe affermazioni te le puoi anche risparmiare..... a meno che tu non stia cercando di farmi passare la voglia di darti una mano....

Comunque Basta associare all'imgTag una bitmap aperta da file.

Che cosa c'è di così difficile?

Ad esempio guardiamo la guida:

The syntax is:

imgTag <name> [caption] [tooltip:<string>] [style:<key>] [bitmap:<bitmap>] [opacity:<float>] [transparent:<color>]

da 'bitmap:<bitmap>' cosa si deduce? che al posto di <bitmap> devi mettere una variabile di tipo bitmap.

Se nella guida cerchi bitmap trovi l'argomento 'bitmap values'.

nella prima parte è ampliamente spiegato come funziona e inoltre hai diversi possibili costruttori, quello che secondo me può fare al caso tuo è:

openBitMap <filename_string>

Returns a bitmap value containing the contents of the specified bitmap file. The bitmap value returned is a load-only bitmap.

If the specified bitmap file does not exist, a runtime error was generated in 3ds Max 9 and earlier.

quindi devi assegnare una variabile di tipo bitmap all'imgtag che creerai col costruttore che ti ho postato sopra(o se preferisci uno degli altri possibili)

imgtag b5 "imgtag" align:#center bitmap:(openBitMap "C:\\Documents and Settings\\Michele\\My Documents\\b.bmp")

questo è un esempio veloce poi ci sono molte personalizzazoni possibili.

ciao

prima di tutto grazzzzie miilllle.... :-)

dai stavo scherzando....se pensavo che veramente non si potesse fare in pirmis avrei trovato un'altra via e no nmi sarei intestardito per cercare di risolverla in questa maniera...

era una provocazione ma a me stesso... :-)

l'errore è stato mio che in "chat" cmq non si capisce il tono di voce...scusami

io ho guardando nell'help sia sui bitmap che nell'imgTag ma non risucivo a caricarla... mi veniva sempre grigia....

e ora ho anche capito perchè, ma sinceramente se non me lo avessi detto te non ci sarei arrivato...

io mettevo lil percorso ma"relativo" ( avendo provato a caricare l'immagine come normale finestra e funzionante ) così come c'era scritto nell'help ma nel momento in cui provavo a metterlo nell'imgTag non la caricava e non mi dava l'errore...

ora vedendo come hai fatto ho capito e riesco a farla funzionare....

grazie mille....

e veramente scusami per questo frainteso...

cmq

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

probabilmente è sbagliato fare questa domanda su questo post ma rigurada sempre la gui che sto costruendo....nel caso sia sbagliato il posto lo sposto....

volevo sapere se c'era la possibilità di vedere come scriveva le classi max ( ho cercato sull'help ref ma non ho trovato quello che cercavo)

vorrei fare una classe ( struct ) per prendere e ridare un valore....

quindi fare ad esempio su function interne una con un get e l'altra con un set ....ma non so come fare una variabile interna...non so se mi sono spiegato?

l'altra cosa che mi piacerebbe capire come gestisce max il "set" con =

l'ultima domanda :-) ho trovato un'altro modo per farlo...anche se un pò macchinoso... volevo mettere una condizione in un rcmenu ma mi dava errore...e ho dovuto "farlo all'esterno"... volevo sapere se era un mio errore o se era giusto così... e se c'era un metodo che mi consigliate per procedere... :-)

grazie mille a tutti quanti

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Una classe è una classe, una struct è un'altra cosa.

In maxscript è possibili simulare l'utilizzo delle classi usando una struct, però non potrai creare attributi e metodi pubblici o privati, saranno sempre tutti pubblici.

Quindi:

struct prova (

	numero=0,

	fn setNumero num =(

		numero=num

	),

	fn getNumero =(

		return numero

	)	

)


variabile=prova()
ma se tu poi scrivi
variabile.numero

puoi farlo.

Sta a te stare attento ed usare solo la set e la get.

l'altra cosa che mi piacerebbe capire come gestisce max il "set" con =

cosa intendi per set? le collezioni?

Che condizione volevi mettere nell'rcmenu?

Volevi che comparisse in un modo o in un altro a seconda dei casi?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

chiarissimo come al solito coren grazie mille...

per la seconda parte...

quello che ho fatto è abilitare o meno dei item menu... quindi a secondo di cosa clickavi o di che posizioni eri ti abilitavano o meno...

però ho dovuto fare un'"accrocchio" esterno x' appunto non mi lasciava mettere degli if o for dentro rcmenu....

grazie mille...

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

per il menù item guarda questo esempio:

menuItem mi_ricaricaGUI "carica GUI" enabled:(if selection.count!=0 then true else false)
aggiungendo l'argomento enabled il cui valore verrà valutato all'apertura del menù dovresti ottenere quello che vuoi. in maxscript in una funzione scrivere:
fn moltiplica a b =(

   return (a*b)

)
equivale a scrivere:
fn moltiplica a b =(

   a*b

)
Perchè qualsiasi valore che tu metti a vuoto all'interno di due parentesi tonde viene sempre'restituito' al di fuori delle tonde, quindi equivale al return, ma questo solo dal punto di vista dei risultati. Se provi a ripetere le due funzioni un milione di volte o più ti accorgerai che la seconda versione oltre che fare le stesse cose della prima è parecchio più veloce. Per questo tipo di ottimizzazioni cerca il topic "how to make it faster". ricorda che viene sempre restituito l'ultimo valore, quindi se scrivi:
fn moltiplica a b =(

   a+b

   a*b

)
'a+b' non viene restituito. quindi alla fine scrivendo enabled come nell'esempio sopra:
enabled:(if selection.count!=0 then true else false)

il valore di enabled sarà true o false a seconda del numero di oggetti nella selezione.

ciao

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

grazie mille coen... ti devo una cena :-)

sei stato davvero chiaro nella spiegazioni... :-)

sto passando da mel a maxScript e ci sono un pò di differenze :-)

tra l'altro sto cercando un libro su maxscript da prendere ma non ne ho trovati gran chè...ho preso maxScript Essential ( dell'autodesk) ma cercavo qualcosaltro se hai qualche consiglio da dare...

cmq veramente grazie sei stato gentilissimo... :-)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Di nulla!

Riguardo il discorso libri l'unico che conosco io è quello autodesk.

Però conosco dei videotutorial a pagamento della cgacademy davvero ben fatti.

Io ho preso quello di borislav petrov(bobo) che si chiama "the matrix explained" ed è fantastico.

Chiaro e molto interessante.

ciao!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×