Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Проблема с прозрачностью и onResize = function () (http://www.flasher.ru/forum/showthread.php?t=106892)

tetra 21.01.2008 13:23

Проблема с прозрачностью и onResize = function ()
 
Вложений: 1
Задача:
Загрузить картинку во флеш, и чтобы она после загрузки появилась не сразу а из прозрачности от 0 до 100
картинка должна позиционироваться по центру + растягиваться во весь экран.
Что я сделал: Загрузку картинки в контейнер + растягивание во весь экран.
далее я на таймлайне делал прозрачность контейнера 0 и переход в 100
Но тут возникла проблема с прозрачностью.
Как только я добавляю код позиционирования картинка появляется мгновенно. Без позиционирования прозрачность нормальная, т.е как надо.
Код:

// Запрещаем масштаб
Stage.scaleMode = "noScale";

// Выравниваем все по верхнему левому краю
Stage.align = "TL";

// Иницилизация новых переменных
// Переменная выводит рандомно  числа от 0 до 19 - всего 20 чисел
//Нужна для генерации имени фотографии
var randomNum = random(19) ;
// Переменная которая определяет полное название фотографии с расширением
var FotoName =  randomNum + "_ss08.jpg";
trace ("Загруженая фотография: " + FotoName ) ;
// позиционирование image  с тестовым контентом
/*// Начало сторк из-за которых весь косяк
imagePos = new Object();
imagePos.onResize = function ()
{
        image._x = Stage.width/2 - image._width /2;
  image._y = Stage.height/2 - image._height/2;
   
  }

Stage.addListener(imagePos);
imagePos.onResize();       
/* // конец глюкам

//Загрузка рандомных изображений в контейнер Image
loadMovie("img/campaign_ss08/"+FotoName, "image");
gotoAndPlay ("MinAlpha");

Файл с косяком приложил

tetra 21.01.2008 14:59

проблему решил сам
с помощью
Код:

import mx.transitions.Tween;
import mx.transitions.easing.*;
var tween_handler:Object = new Tween(image, "_alpha", Strong.easeIn, 0, 100, 1, true);
tween_handler.onMotionFinished = function() {
};


Infectedcell 21.01.2008 16:53

Цитата:

Сообщение от tetra
проблему решил сам
с помощью
Код:

import mx.transitions.Tween;
import mx.transitions.easing.*;
var tween_handler:Object = new Tween(image, "_alpha", Strong.easeIn, 0, 100, 1, true);
tween_handler.onMotionFinished = function() {
};


- Зачем в данном случае Вы используете onMotionFinished ?
- правильнее писать:
Код:

var tween_handler:Tween = new Tween...
но никак не обджект...
- Картинку можно и нужно грузить с помощью MovieClipLoader и именно там ловить окончание загрузки, с помощью onLoadInit и соответственно производить какие-либо действия.
- Использовать таймлайн в принципе нужно только в крайних случаях...

tetra 21.01.2008 18:16

а можно пример с использованием MovieClipLoader ?


Часовой пояс GMT +4, время: 16:25.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.