var dx = 200; dy = 400;
// Величина отступа от верхнего края рабочего листа var х = 0; var у = 0;
lineStyle(1, 0x000000); for(х = -20; х < 21; х++) { у = х * х;
beginFiii(0x000000) ; moveTo(dx + х - 1, dy - у + 1);
lineTo(dx + х + 1, dy - у + 1);
lineTo(dx + x + 1, dy - у - 1);
lineTo(dx + х - 1, dy - у - 1) ; lineTo(dx + x - 1, dy - у + 1) ; endFill () ;
}
После этих изменений наш график будет нарисован нормально.
Программное управление масками
А теперь выясним, что можно сделать с масками, используя методы объекта
moviedip.
Чтобы маскировать вложенный клип другим клипом (который будет превращен в маскирующий), используется метод setMask:
<Маскируемый клип>.setMask(<Клип-маска>); Самое интересное заключается в том, что оба клипа совсем не обязательно должны находиться в разных слоях (о слоях см. главу 5, о маскирующих слоях - главу 14). Кроме того, и маскирующий, и маскируемый клипы могут содержать сложную анимацию и даже двигаться. Ух, каких чудес можно натворить!
Давайте создадим новый документ Flash, поместим на рабочий лист клип, содержащий любое растровое изображение, а на него наложим клип с какой-либо простой геометрической фигурой. Назовем нижний клип masked, а верхний - mask. После этого привяжем к единственному кадру анимации такой вот сценарий: masked.setMask(mask); mask.startDrag(true); Первое выражение этого сценария маскирует клип-растровое изображение masked клипом mask. Второе выражение заставляет клип mask (т. е. маску) перемещаться вслед за курсором мыши.
Теперь запустим на воспроизведение созданный фильм в отдельном окне и начнем перемещать курсор мыши с места на место. Забавно получилось, не правда ли?
Кстати, маски, созданные путем вызова метода setMask, имеют приоритет над масками, созданными вручную. Иными словами, если мы создадим маскирующий слой с клипом-маской mask и замаскируем им другой клип masked, то выражение:
mask.setMask(masked); сделает клип masked маской, а клип mask - маскируемым.
Маскируемый клип в данный момент времени может иметь только одну маску. Так, если для клипа masked вызвать метод setMask еще раз, но пере дать ему в качестве параметра клип mask2, то он станет новой маской для masked, а предыдущая маска mask "уйдет в отставку".
Чтобы убрать маску совсем, достаточно вызвать метод setMask с параметром
null:
masked.setMask(null) ;
Работа с кнопками
А теперь поговорим о кнопках и работе с ними с помощью сценариев. (Подробнее о кнопках см. главу 18.)
Все находящиеся на рабочем листе кнопки, для которых было задано имя, представляют собой экземпляры объекта Button. Их создает сам Flash; нам же остается только использовать их свойства и методы.