CoRnS Napisano 10 Luty 2004 Napisano 10 Luty 2004 Witam wszystkich. Mam dziwny problem a dokladnie to zaczolem pisac swoj pierwszy script :D. i narazie wszystko wmiare idzie gdyby nie to ze niewiem co sie dzieje oto co narazie napisalem : rollout ob_roll \"Obiekt\" width:160 height:184 ( radiobuttons rdo2 pos:[35,20] width:49 height:46 labels:#(\"Poly\", \"Mesh\") default:1 label lb2 \"Create Box, convert to Edit Tablet: \" pos:[10,45] button b1 \"Do It\" pos:[70,70] on b1 pressed do ( pot = box length:l.value width:w.value height:h.value pot.name = \"Box01\" ) ) rollout rozm_roll \"Dlugosc, Szerokosc, Wysokosc\" width:160 height:184 ( Spinner l \"Length: \"range[0,999,30] type:#float Spinner w \"Width: \"range[0,999,30] type:#float Spinner h \"Height: \"range[0,999,30] type:#float ) rollout opcje_roll \"Opcje\" width:160 height:184 ( ) rollout info_roll \"Info\" width:160 height:64 ( label lbl2 \"Autor: CoRnS\" pos16,32] width:136 height:16 ) mainfloater = newRolloutFloater \"Creator\" 201 240 addrollout ob_roll mainfloater addrollout rozm_roll mainfloater addrollout opcje_roll mainfloater addrollout info_roll mainfloater i problem jest taki, ze jak dam Ctrl+E [Evaluate All] to podswietla mi taka linijke : Spinner l \"Length: \"range[0,999,30] type:#float [z tego co wiem to oznacza blad] Dla jasnosci uzywam 3ds max 6. Pozdrawiam i z gory dzieki za pomoc.:)
lechoo Napisano 10 Luty 2004 Napisano 10 Luty 2004 To tylko literowki. W definicji spinerow brakuje dwukropkow po range, powinno byc: Spinner l \"Length: \"range:[0,999,30] type:#float I dalej jeszcze w labelu lbl2, gdzie powinno byc pos:[16,32] zamiast pos16,32]
CoRnS Napisano 10 Luty 2004 Autor Napisano 10 Luty 2004 Dzieki joz poprawilem. Ale znowu cos nie tak bo gdy chce utwozyć boxa [klikam na bbuttona] to wyskakuje mi okienko \"--Unknow property:\"value\" in undefined\" :)
VGT Napisano 11 Luty 2004 Napisano 11 Luty 2004 Problem leży w zasięgu działania zmiennych.. coś czego nigdy nie lubiłem bo czasem można się przez to dłuugo wpatrywać w monitor ;) po prostu w rollout\'cie z buttonem ta zmienna jest niewidoczna Jeżeli te 3 linie: Spinner l \"Length: \"range[0,999,30] type:#float Spinner w \"Width: \"range[0,999,30] type:#float Spinner h \"Height: \"range[0,999,30] type:#float umieściłbyś w tym samym rollout\'cie co button, wszystko było by ok. Ja rozwiązałbym to tak, że wartości te przenosiłbym poprzez zmienne. Całość po moich poprawkach wyglądałaby tak: global wid = 30 global len = 30 global hei = 30 rollout ob_roll \"Obiekt\" width:160 height:184 ( radiobuttons rdo2 pos:[35,20] width:49 height:46 labels:#(\"Poly\", \"Mesh\") default:1 label lb2 \"Create Box, convert to Edit Tablet: \" pos:[10,45] button b1 \"Do It\" pos:[70,70] on b1 pressed do ( pot = box length:len width:wid height:hei pot.name = \"Box01\" ) ) rollout rozm_roll \"Dlugosc, Szerokosc, Wysokosc\" width:160 height:184 ( Spinner l \"Length: \"range:[0,999,30] type:#float on l changed val do len = l.value Spinner w \"Width: \"range:[0,999,30] type:#float on w changed val do wid = w.value Spinner h \"Height: \"range:[0,999,30] type:#float on h changed val do hei = h.value ) rollout opcje_roll \"Opcje\" width:160 height:184 ( ) rollout info_roll \"Info\" width:160 height:64 ( label lbl2 \"Autor: CoRnS\" pos:[16,32] width:136 height:16 ) mainfloater = newRolloutFloater \"Creator\" 201 240 addrollout ob_roll mainfloater addrollout rozm_roll mainfloater addrollout opcje_roll mainfloater addrollout info_roll mainfloater a teraz krótki opis -zaraz na poczatku zadeklarowalem zmienne przypisujac im wartosci poczatkowe spinnerow -w pot = box.... odwoluje sie do wartosci zmiennych a nie spinnerów -dodatkowe linie: on (nazwa) changed do ... sprawia ze przy kazdej zmianie spinnera nowa wartosc od razu ląduje także w zmiennej. Ogólnie rozwiązanie to pewnie prowizorka, ale tyle mogę pomóc :) w odpowiedzi na poniższe rozwiązanie lechoo: heh, ja przy tym pół godziny dłubałem a to o tyle prostsze było :) no ale człowiek uczy się całe życie
lechoo Napisano 11 Luty 2004 Napisano 11 Luty 2004 Mozna to zrobic jeszcze inaczej. Wystarczy odwolac sie do spinera przez nazwe rolloutu czyli np. rozm_roll.l.value. Wtedy wartosc ta powinna byc widoczna w innych rolloutach.
CoRnS Napisano 11 Luty 2004 Autor Napisano 11 Luty 2004 Dzieki wielkie nareszcie dziala :). Mam jeszcze pytanie do lechoo: probowalem zrobic tak jak ty pisales ale wyskakuje mi msg \"--Unknow property:\"l\" in undefined\" Mozesz mi wyjasniec czemu tak sie dzieje [i co to jest to l pomiedzy tymi kropkami ?? :) Jeszcze raz dzieki wielkie :)
VGT Napisano 11 Luty 2004 Napisano 11 Luty 2004 ja podpowiem, że \"l\" to nazwa twojego spinnera :) a komunikat pojawia się takjakby wciąż ta wartość nie była osiągalna :| ja jeszcze tego nie mialem okazji przetestować, więc bedzie musiał tu lechoo zajrzeć :)
lechoo Napisano 11 Luty 2004 Napisano 11 Luty 2004 Musisz zamienic miejscami rozm_roll i ob_roll. Najpierw ten w ktorym zdefiniowane sa spinnery a potem ten w ktorym sie do nich odwolujesz. Nie wiem czemu tak, max script ma takie rozne fanaberie :) Przerobiony skrypt wyglada tak: rollout rozm_roll \"Dlugosc, Szerokosc, Wysokosc\" width:160 height:184 ( Spinner l \"Length: \"range:[0,999,30] type:#float Spinner w \"Width: \"range:[0,999,30] type:#float Spinner h \"Height: \"range:[0,999,30] type:#float ) rollout ob_roll \"Obiekt\" width:160 height:184 ( radiobuttons rdo2 pos:[35,20] width:49 height:46 labels:#(\"Poly\", \"Mesh\") default:1 label lb2 \"Create Box, convert to Edit Tablet: \" pos:[10,45] button b1 \"Do It\" pos:[70,70] on b1 pressed do ( pot = box length:rozm_roll.l.value width:rozm_roll.w.value height:rozm_roll.h.value pot.name = \"Box01\" ) ) rollout opcje_roll \"Opcje\" width:160 height:184 ( ) rollout info_roll \"Info\" width:160 height:64 ( label lbl2 \"Autor: CoRnS\" pos:[16,32] width:136 height:16 ) mainfloater = newRolloutFloater \"Creator\" 201 240 addrollout ob_roll mainfloater addrollout rozm_roll mainfloater addrollout opcje_roll mainfloater addrollout info_roll mainfloater
CoRnS Napisano 11 Luty 2004 Autor Napisano 11 Luty 2004 Dzieki za pomoc :) Jest joz ok. Jak skoncze lub bede mial problemy [znowu] to dam znac. Jeszcze raz dzieki.
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się