1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Black & White (бросание предметов)

Тема в разделе "MAXScript", создана пользователем -, 16 мар 2005.

Модераторы: Savin Denis
  1. Guest

    зацените вот, 5 дней писал(в скрипты дольше вникал) :) конечно много недаработок, но прикольно(мне так кажется) =)



    global nowPos, newPos, lastPos, kount=0, prevTime=0, nowTime
    ----------Инструмент указания новых координат предмета----------
    tool pos
    ( on freeMove do setSysCur #arrow


    on mousePoint clickno do --при нажатии левой кнопки
    if (xyz.onOFF.checked) then --проверка флажка on/off
    ( setSysCur #move
    if clickno == 1 then
    (select $box01

    newPos=gw.getPointOnCP(mouse.pos) --координаты нажатия
    $.pos=newPos
    for i=1 to 20 do
    (move $ [0,0,1]; sleep 0.004; redrawViews())
    print newPos)

    if clickno == 2 do --при отпускании левой кнопки
    (lastPos=$.pos
    print lastPos
    if (xyz.test.text as integer)==prevTime do
    (
    for i=1 to n=200 do
    (move $ [((lastPos.x-newPos.x)*4/n),\
    ((lastPos.y-newPos.y)*4/n),-lastPos.z/n]
    for m=1 to 2 do in coordsys #local
    (rotate $ (angleaxis (random 0 2) [1,1,1]))
    sleep 0.002
    redrawViews())
    )
    #stop)
    )
    else #stop


    on mouseMove clickno do --при движении с зажатой левой кнопкой
    ( setSysCur #move
    if clickno == 2 then
    ($.pos.x=worldPoint.x; $.pos.y=worldPoint.y;
    nowTime=xyz.test.text as integer -- расчет задержки при остановке
    if (nowTime-1)!=(prevTime) then (prevTime=nowTime;)
    else (prevTime=nowTime; newPos=$.pos)


    -- timer Time --Таймер с определением активности курсора
    -- on Time tick do
    -- if newPos==nowPos then newPos=nowPos
    )
    )
    )
    ----------Создание Меню----------
    rollout xyz "Box move" width:160 height:100
    (
    --button move "press" pos:[5,5] width:150 height:30
    timer Time "Time" interval:200 --Таймер
    label _time "Time" across:2
    label test "0" align:#left
    on Time tick do
    ( if xyz.onOFF.checked do --проверка флажка,если нет то время не идет
    (
    valUp = (test.text as integer)+1
    test.text = valUp as string
    )
    )

    checkbox onOFF "on/off" pos:[5,40] width:150 height:15 enabled:true checked:false
    on onOFF changed true do -- зпуск инструмента при отмечании
    while xyz.onOFF.checked
    do
    (startTool pos)
    )
    createDialog xyz width:160 height:100
     
Модераторы: Savin Denis

Поделиться этой страницей