Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ввод обработчиков событий




В следующем упражнении вам предстоит ввести обработчики событий для создания Солнца и планет.

1. Введите следующий фрагмент кода перед последней закрывающей скобкой в выражении свитка:

on but_createSun pressed do

(

)

on but_createSun rightclick do

(

)

В этом коде создаются два обработчика событий для кнопки Create Sun. Если щелкнуть на ней левой кнопкой мыши, в сценарии должна быть создана сфера радиусом, определяемым параметром SunRadius. Если же щелкнуть на ней правой кнопкой мыши, в сценарии на этот раз должна быть создана геосфера.


Построение пользовательских интерфейсов

2. Введите внутри обработчика событий pressed следующую строку кода:

sun = sphere radius: spn_sunRadius.value

Теперь данный обработчик событий должен иметь следующий вид:

on but_createSun pressed do

(

sun = sphere radius: spn_sunRadius.value

)

Значение переменной spn_sunRadius хранится в ее свойстве.value. Выражение spn_sunRadius. value возвращает любое значение, находящееся в поле редактирования счетчика SunRadius в момент нажатия кнопки CreateSun.

3. Введите внутри обработчика событий rightclick следующий фрагмент кода:

on but_createSun rightclick do

(

sun = geosphere radius: spn_sunRadius.value

)

4. Вычислите код сценария.

5. Измените значение параметра SunRadius в открывшемся диалоговом окне, введя в его поле число, большее нуля, а затем щелкните левой кнопкой мыши на кнопке CreateSun. В сцене будет создана сфера с указанным радиусом. Переместите сферу по сцене и попробуйте щелкнуть правой кнопкой мыши, чтобы создать геосферу. Если сценарий не позволяет этого сделать, проанализируйте его код в приемнике команд, выявите ошибку и исправьте ее, прежде чем продолжить работу над данным сценарием.

6. Создайте обработчик событий для формирования планет и их орбит. Для этого введите следующий фрагмент кода после только что введенного кода обработчика событий:

 

on but_createPlanets pressed do

(

for i = 1 to spn_numPlanets.value do

(

-- Создание планеты

planet = sphere() -- Создать планету

-- Установить радиус планеты в виде случайного числа

-- в пределах от 10 до 30

planet.radius = random 10.0 30.0

-- Создать окружность для орбиты планеты

orbit = circle radius:(i*10)

-- Поместить планету на орбиту

planet.pos.controller = Path_Constraint()

planet.pos.controller.path = orbit

-- Повернуть орбиту, чтобы она заняла произвольное

-- исходное положение

orbit.rotation.z_rotation = random 0.0 360.0

)

)


Глаза 2

Этот обработчик событий создает ряд указанных планет с произвольной орбитой в виде окружности и ограничивает их движение по кругу с помощью ограничения по линии пути. И наконец, он поворачивает орбиту каждой планеты на случайную величину, чтобы исходное положение орбит было разным.

7. Вычислите код сценария.

Установите значение 3 в поле счетчика Number of Planets (Число планет) и щелкните на кнопке Create Planets.

Вокруг Солнца будут созданы две планеты со своими орбитами.

 

 

 

 





Поделиться с друзьями:


Дата добавления: 2014-10-15; Просмотров: 440; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.