Pavulon 13 Napisano 12 Luty 2006 Napisano 12 Luty 2006 Czesc...mam problem troszku ze slajderem,a mianowice chcialbym za jego pomoca obrazac "obiekt"....i nie wiem jak do konca to zrobic.Wpisuje mu kod..a on mi za kazdym razem trzaska errora ( ps.juz mam dosc tych errorow)...Prosze o pomoc,co robie zle... kawalek kod...: rollout wybor "Wybor " width:416 height:262 ( button ok "kupa" on ok pressed do ( rollout nowka "nowa" width:326 height:232 ( slider slider_1 "kupa" range:[0,330,165] type:#float ticks:1 on slider_1 changed do ( rotate $ (angleaxis slider_1.value ) ) -- on ) addRollout nowka pierwsza_roleta ) ) pierwsza_roleta = newRolloutFloater "Okno" 420 400 addRollout wybor pierwsza_roleta
SUPER_OkO Napisano 13 Luty 2006 Napisano 13 Luty 2006 niezaglebiajac sie w scrypta wystarczy zrobic tak - create - slider- wire paremeter dialoug - i polaczy w 2 strony slider_value z dany_objekt- rotate. I wystarczy podac odpowiednie przelicznik na stopnie z radianow. A slidera zrob od 0 do 360st i tyle. chyba ze ci zalezy na scrypcie to juz nie moja brozka
etyr11 Napisano 13 Luty 2006 Napisano 13 Luty 2006 Jak już o obracaniu to ja tez mam problemJ Chciałbym obrucic box’a w plynny sposób , tak jak za pomoca „selekt and rogate” o ustalona wartość na spinnerze np. 30 st. W taki sposób obraca mi od razu o 30 stopni a ja chciałbym, żeby obrot wykonywany był o 30 st co np.1 st Jak to zrobic? Czy da się to zrobic za pomoca petli for, jeśli tak to jak, bo już probowalem na setki sposobow i mi nie wychodziL. Jeśli nie to w jaki sposób mogę wykonac taki plynny obrot? I jeszcze kawalek mojego kodu. ... button z2p "Prawo" pos:[120,70] spinner clones2 "Kat obrotu w prawo" range:[0,360,30] type:#integer width:55 pos:[90,140] on z1p pressed do ( (select $'Box01') ( rotate $ (angleaxis -clones2.value [0,0,1]) ) )
lechoo Napisano 13 Luty 2006 Napisano 13 Luty 2006 Pavulon 13 - podales za malo parametrow w angleaxis. Powinno byc np. cos takiego: rotate $ (angleaxis 70 [0,0,1]), czyli obrot o 70 stopni wokol osi Z. Zauwazylem tez ze masz jeszcze jeden blad w lini on slider_1 changed do. Miedzy changed a do powinna byc zmienna do ktorej zostanie przypisana nowa wartosc slidera. Wtedy bedziesz mogl to zapisac tak: on slider_1 changed new_val do ( rotate $ (angleaxis new_val [0,0,1]) ) etyr11 - mozesz to zrobic za pomoca petli for ale musisz ja czyms opoznic, moze funkcja Sleep, inaczej skrypt wykona sie tak szybko ze od razu zobaczysz obiekt obrocony o 30 stopni.
Pavulon 13 Napisano 13 Luty 2006 Autor Napisano 13 Luty 2006 Dzieki sliczne poraz kolejny lechoo...podziwiam Twoja wiedze-(Ty normalnie wiesz chyba wszystko) ;P...dzieki ..pozdrawaim
etyr11 Napisano 14 Luty 2006 Napisano 14 Luty 2006 No i cos mi nie wychodzi:/. Obrot wykonuje sie po pewnym czasie skokowo, a nie a nie jak chcialem od razu plynnie:( wiem ze cos zle robie tylko nie wiem co) I jeszcze dzieje sie cos z katem obrotu dziwnego.Zalaczam kod. Pomocy. rollout obrot "obrot boxa" ( button z1 " obrot" spinner kat "wartosc kata" range:[0,360,45] type:#integer on z1 pressed do ((select $'box01') for i = 0 to kat.value do ( sleep 0.02 rotate $ (angleaxis kat.value [0,0,1]) ) ) ) box() CreateDialog obrot weith:200 lenght:100
lechoo Napisano 14 Luty 2006 Napisano 14 Luty 2006 W tej chwili obracasz obiekt w kazdym przejsciu petli o kat.value a powinienes obracac o (kat.value / ilosc_przejsc_petli), inaczej zamiast obrocic obiekt o 10 stopni, obrocisz go 10 razy o 10 stopni. Dodatkowo po kazdym wywolaniu rotate powinienes wymuszac odswiezenie sceny uzywajac np. completeRedraw() inaczej scena odswiezy sie dopiero po zakonczeniu wykonywania skryptu i zobaczysz juz obrocony obiekt.
etyr11 Napisano 14 Luty 2006 Napisano 14 Luty 2006 Sliczne dzieki Lechoo. Nie wiem skad ty to wszystko wiesz, ale podziwiam. Jeszcze raz wielkie dzieki. A tak przy okazji skad sie uczysz maxscript'u? I jeszcze wklejam zrobiony script-moze komus sie przyda. Pozdrawiam. rollout obrot "obrot boxa" ( button z1 " obrot" spinner kat "wartosc kata" range:[0,360,45] type:#integer on z1 pressed do ((select $'box01') for i = 0 to kat.value by 1 do ( sleep 0.01 rotate $ (angleaxis 1[0,0,1]) completeRedraw() ) ) ) box() CreateDialog obrot width:200 height:50
lechoo Napisano 15 Luty 2006 Napisano 15 Luty 2006 A tak przy okazji skad sie uczysz maxscript'u? Z helpa ;)
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ę