Gość Garsija Napisano 10 Styczeń 2012 Napisano 10 Styczeń 2012 Witam, mam mały problem ze skryptem rysującym tor. Skrypt jest jeszcze w fazie początkowej, ale już napotkałem pewien problem, którego nie potrafię rozwiązać. Polega on na tym, że po kliknięciu w przycisk rozpoczynający rysowanie, zostaje narysowana linia zgodnie z wybranym kierunkiem, lecz w momencie, gdy zmienię linie powiedzmy z poziomej na pionową i znowu kliknę na przycisk uruchamiający rysowanie odcinka, wyskakuje błąd: >> MAXScript Rollout Handler Exception: -- Type error: Call needs function or class, got: $Line:Line002 @ [-63.355549,-26.858475,0.000000] Nie wiem co jest grane i jak to naprawić. Kod skryptu fn TOR startPKT typ kierunek dlugosc=( if(typ == 1) then ( if(kierunek == 1) then ( endPKT = [startPKT.x + dlugosc, startPKT.y, startPKT.z]--linia poziomo koniec = endPKT ) else ( endPKT = [startPKT.x, startPKT.y + dlugosc, startPKT.z]--linia pionowo koniec = endPKT ) linia = line pos:startPKT addNewSpline linia addKnot linia 1 #smooth #line startPKT addKnot linia 1 #smooth #line endPKT updateShape linia tor = linia print tor print koniec ) --return linia ) Utility TworzTor "Rysuj tor" ( radioButtons typTor "Typ toru" labels:#(#Linia, #Luk) align:#left radioButtons kierTor "Kierunek toru" labels:#(#Poziomo, #Pionowo) align:#left spinner dlugosc "Dlugosc" range:[0,1000,200] align:#left spinner promien "Promien" range:[5,500,50] align:#left spinner kat "Kat" range:[0,90,45] align:#left button rysuj "Rysuj" local nazwa global koniec = 0 on rysuj pressed do ( if (koniec == 0) then ( PKTstart = pickPoint() TOR PKTstart typTor.state kierTor.state dlugosc.value --jezeli zaczynamy to wybieramy pkt rozpoczecia ) else ( TOR koniec typTor.state kierTor.state dlugosc.value --jezeli juz cos narysowane to start od konca narysowanego elementu ) ) ) Wiem, że jest to zleksza niechlujne, ale narazie można powiedzieć, że jestem w fazie uczenia się maxscriptu. Chciałbym was również prosić o jakieś pomysły jak połączyć stworzoną linię z łukiem, który można również będzie wykonać w tym skrypcie(w późniejszym etapie). Ewentualnie jeżeli znacie jakiś prosty sposób na wykonanie toru, który będzie posiadał "gładkie" zakręty, to byłbym bardzo wdzięczny za jakieś podpowiedzi.
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ę