PDA

Просмотр полной версии : проблема с маской


sector_222
27.02.2009, 15:32
ДОбрый день - я хочу чтобы маска скрывала часть списка из мувиков - а не наобород - что у меня и вышло ( см. влож) вот код

import mx.transitions.Tween;
import mx.video.*;
import mx.transitions.easing.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;

//Делаем флешку не масштабируемой и ставим максимально хорошее качество
Stage.scaleMode = "noScale";
Stage.align = "B";
_root._quality = "BEST";

// координаты компонентов
vert_x = 10; //координаты вертикальной панели
vert_y = 10;

goriz_x = 356; //координаты горизонтальной панели
goriz_y = 646;

vert_width = 100;//размеры вертикальной панели
vert_height = 500;

goriz_width = 500;//размеры горизонтальная панели
goriz_height = 100;

thumb_height = 50; //размеры мелких фото
thumb_width = 50;

full_x = 200; //коордиты больших фото
full_y = 200;

imageShift = 2;//дистанция между картинками

Vertical();
createMaskVert();
scrolling();


/*****функция выводит вертикальное меню с горизонтальным по первой теме***************/
function Vertical() {

/******id темы - для обращения к базе и вывода горизонтального списка************/
/****************************************************************/
//обработчик для передачи параметров
formData = new LoadVars();
//при загрузке флешки в пустое поле выводить сообщение
formData.onLoad = function(success:Boolean) {
if (success) {

//стартовая позиция картинок по X
var startXv:Number = vert_x;
//стартовая позиция картинок по Y
var startYv:Number = vert_y;
//текущая координата картинки
var currImageXv:Number = 0;

// создаём пустой клип с нужными координатами для панели прокрутки с мелкими фотками
_root.createEmptyMovieClip("container_mcV",_root.getNextHighestDepth());
container_mcV._x = vert_x;
container_mcV._y = vert_y;

//вносим список имён тем в массив

var my_str1:Array= formData.name_tema
var nameTemes_array = new Array();
nameTemes_array = my_str1.split("$$");

//вносим ID тем
var my_str2:Array= formData.id_tema;
var idTemes_array = new Array();
idTemes_array = my_str2.split("$$");

//пока не кончится все фотки загружаем их в контейнер
//for (var i = 0; i<nameTemes_array.length-1; i++)
for (var i = 0; i<10; i++)
{
//добовляем картинку из библиотеки
var tema:MovieClip = _root.container_mcV.attachMovie("tema","tema"+i,i);
//оптимизируем скрипт создавая переменную tema передавая ей ссылку на нашу картинку
//var tema:MovieClip = _root.container_mcV["tema"+i];
tema._x = startXv;
tema._y = startYv;
//выщитываем новую координату для следующей картинки
startYv += tema._height+imageShift;

//принажатии на изображение вызываем горизонтальную панель
tema.onRelease = function() {
_root.Gorizontal(IdKey_array,IdName_array);
};
//при наведении на изображение - прозрачность на 50%
tema.onRollOver = function() {
this._alpha = 50;
};
// и наоборот
tema.onRollOut = function() {
this._alpha = 100;
};


tema.temaText.text = nameTemes_array[i];
//массивы для передачи ID темы и имя темы чтобы передать функции отображения
//горизонтального списка
tema.IdKey_array = idTemes_array[i];
tema.IdName_array = nameTemes_array[i];
if (i == 0)//если первый запрос то загружаем сразу первую temu
{
Gorizontal(idTemes_array[i],nameTemes_array[i]);
}


}


} else{
//tema.temaText.text = "Error loading/parsing LoadVars.";
}

};
//обмен данными с MySQL значения объекта formData методом POST
formData.sendAndLoad('phpinitializ.php',formData,'POST');


}

function createMaskVert() {
//создаём пустой клип для маски с известными координатами для скроль панели
_root.createEmptyMovieClip("mask_mcV",_root.getNextHighestDepth());

mask_mcV._x = vert_x;
mask_mcV._y = vert_y;
//отчерчивает маску с размерами панели
mask_mcV.beginFill(0x000000,50);
mask_mcV.lineTo(vert_width,0);
mask_mcV.lineTo(vert_width,vert_height);
mask_mcV.lineTo(0,vert_height);
mask_mcV.lineTo(0,0);
// устанавливаем маску для скроль панели
_root.container_mcV.setMask(mask_mcV);

}




подскажите пожалуйста, где моя ошибка??? пример брал из второго файла

sector_222
27.02.2009, 17:58
сам разобрался =) функции скролл и вертикаль - нужно вызывать в цикле вывода мувиков.