Гиперссылка в роллауте

try DestroyDialog unnamedRollout catch()
rollout unnamedRollout "Untitled" width:80 height:20
(
HyperLink RolloutName_of_Link "Caption of Link" pos:[2,2] width:100 height:16 address:"http://www.scriptspot.com/" color:(color 0 255 0) hovercolor:(color 255 255 255) visitedcolor:(color 0 0 0)
)
CreateDialog unnamedRollout

 

Свойства:
color - цвет не посещённой ссылки
hovercolor - цвет ссылки при наведении
visitedcolor - цвет посещённой ссылки

 

_______________________________________________________________

 









Быстро выделить объекты по имени

Если в сцене есть куча объектов, разнесённых по разным слоям, имеющих одинаковый элемент в имени, то легко выделяем их посредством MaxScript

 

arCollision=For i in $* Coll collect i; unhide arCollision; select arCollision; max hide inv

/*В переменную arCollision передаётся результат цикла, в котором каждый элемент i из объектов, содержащих слово “Coll” заполняется в массив (collect i).

Тоесть:

[

$-- указатель на объект

*-- знак указывающий на то что вместо звёздочки может стоять сколько угодно, каких угодно символов

Coll--имя, по которому ищем объекты

]

*/

  -- unhide arCollision; select arCollision; max hide inv раскрыть объекты; выделить -- объекты; скрыть невыделенные

 

Развил тему:) Вот готовый скрипт


macroScript naneHUnH  category:"Niklit Scripts"     toolTip:"Name obj Hide Unhide"       icon:#("TrackViewTools",114)
(
StuffName=#()
try DestroyDialog naneHUnH catch()
rollout naneHUnH "Name obj Hide Unhide" width:235 height:47
(
       editText edt1 "" pos:[-2,2] width:235 height:14
       checkbox chk1 "Hide inv" pos:[170,26] width:77 height:16
       button btn_UnHide "Unhide" pos:[2,22] width:80 height:23
       button btn_Hide "Hide" pos:[84,22] width:80 height:23
       on chk1 changed hInv_State do hInv_State=off
 
       on edt1 entered txt do
       (
                   if txt!= "" do NameForFind=execute ("$*"+txt+"*")
                   global arO=For i in NameForFind collect i
      )
 
       on btn_UnHide pressed do with undo on (
                   select arO; unhide arO
                   if chk1.checked then (max hide inv) else ()
      )
                   on btn_Hide pressed do with undo on (
                   hide arO
      )
)
CreateDialog naneHUnH
)

_______________________________________________________________





























Подгрузка функции из файла.

В файле C:\\Test.ms записано

fn PrintHello=format “Hello World!”

Вызов в скрипте:

global ExtF

ExtF=(include "C: \\ Test.ms")
PrintHello ()
--А для путей подальше чем c:\
global ExtF
ScriptsFolder=(GetDir #scripts)
ExtF=(include (ScriptsFolder+"Test.ms"))

 

_______________________________________________________________






Аббревиатуры

Открываем файл аббревиатур в MaxScript эдиторе

И записываем туда код по следующему образцу:

Образец оформления Аббревиатур.

Название сокращения = код с явно указанными табуляциями и знаками новой строки.

()=(\n|\n)
comment= /*CommentStart\n|\n*/
fn=fn fn_ arg=(\n|)
mess=messagebox\t"Category: \\ "Custom Scripts\\""
ms=macroScript\tmacroNAME\tcategory:"Custom Scripts"\ttoolTip:""\ticon:#("",1)\n(\n|\n)
roll=try DestroyDialog unnamedRollout catch()\nrollout unnamedRollout "Untitled" width:160 height:70\n(button btn "Caption" width:40 hight:20 align: #center\non btn pressed do (print "1")\n)\nCreateDialog unnamedRollout
for x=for x in ARRAY where ARG do\n(\n\tEXPR\n)
for i=for i = 1 to INTEGER where ARG do\n(\n\tEXPR\n)
if=if EXPR\nthen     EXPR\nelse EXPR
case=case EXPR of =\n(\n\tFACTOR: EXPR\n\tdefault: EXPR\n|)
 
spn=spinner spn "Caption" range: [0,100,0] type: #float fieldWidth:spnW1 align: #right
btn=button btn "Caption" width:wl align: #center
cbtn=checkbutton Cbt "Caption" align: #center
label=label Lbl "Caption" align:#center

 

Потом нажимаем Ctrl+S

и проверяем, вызывая аббревиатуру нажав Ctrl+Shift+R уже в другой вкладке с кодом.

Ещё моменты: на примере записи аббревиатур

fn=fn fn_ arg=(\n|)

знак "|" означает, что то что если выделен фрагмент кода, то при вызове аббревиатуры, то что в аббревиатуре стояло после этого знака будет вставлено после выделенного фрагмента кода.

В данном случае закрывающая скобка будет вставлена после выделенного кода.

А ещё аббревиатуру можно вызывать, напечатав её и затем нажать Ctrl+Shift+A

_______________________________________________________________
















Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: