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

visibility = 1 или 0

Тема в разделе "MAXScript", создана пользователем Arturius, 1 май 2010.

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

    Arturius Пользователь сайта

    С нами с:
    26.02.2010
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    2
    Для создания лица пытался написать макрос который бы по нажатию клавиши 1 делал визибилити равный нулю и другая клавиша тоже самое только со значением один.
    Я имею ввиду тот визибилити который находится в панели Object Properties у которого можно есть переключатель значений от 0 до 1 с шагов в одну десятую.
    вот мой скрипт:
    Код:
    rollout unRollout "Untitled" width:181 height:112
    (
    	button btn2 "Button" pos:[41,6] width:100 height:20
    	button btn3 "Button" pos:[37,34] width:100 height:20
    	global a=$Cylinder01
    	
    	on btn2 pressed  do
    		$Cylinder01.visibility = 1
    	on btn3 pressed  do
    		$Cylinder01.visibility = 0
    )
    createDialog unRollout width:208 height:85
    тут $Cylinder01 это явно заданный объект над которым я работаю и который создал заранее.

    но странно что не работает:
    on btn2 pressed do
    $Cylinder01.visibility = 1
    не пашет это событие почемуто. может поможет кто?

    Версия макса 2010
     
  2. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.254
    Симпатии:
    172
    Баллы:
    65
    Попробуй так:
    on btn2 pressed do
    $Cylinder01.visibility.controller.value = 1
     
  3. Arturius

    Arturius Пользователь сайта

    С нами с:
    26.02.2010
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    2
    Огромное спасибо всё сработало, странно только то что уже пробовал так как ты написал. видимо чтото глючило либо макс либо я :)
     
  4. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.254
    Симпатии:
    172
    Баллы:
    65
    В начале у объектов свойство Visibility не имеет контроллер, поэтому для этих объектов код который я написал работать не будет. Чтобы назначить контроллер, нужно один раз изменить значение свойства Visibility в окне Object Properties или написать такой код:
    on btn2 pressed do
    (
    $Cylinder01.visibility=bezier_float() --сначала назначаем контроллер
    $Cylinder01.visibility.controller.value=1 --потом изменяем значение свойства Visibility
    )
     
Модераторы: Savin Denis

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