Форум 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)
-   -   помогите создать функцию (http://www.flasher.ru/forum/showthread.php?t=103339)

AlliAS 03.11.2007 01:40

помогите создать функцию
 
Ну вот, это опять я.
На этот раз у меня такой вопрос:
У меня есть код, который многократно (9 раз) повторяесться, код не маленький (15 строк). А изменяеться в коде тока имя клипа, к которому он применяется и текст. В силу здравого смысла я не считаю обязательным его копировать и изменять параметры. Поэтому я хотел создать функцию, где в качестве параметров было-бы:
имя клипа(сName:String), первый текст(fText:String), второй текст(sText:String). Но чтото не получаеться (что-то мне подсказывает, что я ошибся с типом данных параметра cName(но я просто незнаю какой тип данных подходит для хранения имен клипов)). Вот посмотрите на начальный код:
Код:

import mx.transitions.Tween;
import mx.transitions.easing.*;
var myColor:Color = new Color(s1_mc);
s1_mc.onRollOver = function() {
var tObj:Object = {ra:'100', rb:'117', ga:'100', gb:'35', ba:'-100', bb:'-0'};
var cObj:Object = {ra:'100', rb:'0', ga:'100', gb:'0', ba:'100', bb:'0'};
myColor.setTransform(tObj);
var aTween:Tween = new Tween(effectA_mc, "_alpha", Strong.easeIn, 0, 100, 2, true);
var bTween:Tween = new Tween(effectB_mc, "_alpha", Strong.easeIn, 0, 100, 2, true);
effectA_mc.effectA_txt.text = "1234567890";
effectB_mc.effectB_txt.text = "Бла бла бла";
this.onRollOut = function() {
myColor.setTransform(cObj);
effectA_mc.effectA_txt.text = "";
effectB_mc.effectB_txt.text = "";
};
};

и на неработающую функцию:
Код:

import mx.transitions.Tween;
import mx.transitions.easing.*;
function Commander(aText:String, bText:String, Name:String) {
        var myColor:Color = new Color(Name);
        Name.onRollOver = function() {
                var tObj:Object = {ra:'100', rb:'117', ga:'100', gb:'35', ba:'-100', bb:'-0'};
                var cObj:Object = {ra:'100', rb:'0', ga:'100', gb:'0', ba:'100', bb:'0'};
                myColor.setTransform(tObj);
                var aTween:Tween = new Tween(effectA_mc, "_alpha", Strong.easeIn, 0, 100, 2, true);
                var bTween:Tween = new Tween(effectB_mc, "_alpha", Strong.easeIn, 0, 100, 2, true);
                effectA_mc.effectA_txt.text = aText;
                effectB_mc.effectB_txt.text = bText;
                this.onRollOut = function() {
                        myColor.setTransform(cObj);
                        effectA_mc.effectA_txt.text = "";
                        effectB_mc.effectB_txt.text = "";
                };
        };
}
Commander("Flash","Professional","s1_mc");

Дюже просю: помогите ее доделать

koIIImarik 03.11.2007 02:29

Всё очень просто, скорее всего…
 
Попробуйте Name:String переделать на Name:MovieClip =) Я ваш код не пробовал у себя, но создал простую функцию, где таким образом передавал внутрь имя имя клипа и делал его _alpha равным 50.
И вообще, чтобы точно быть уверенным, что дело не в типе данных - просто не типизируйте данные на первых этапах =)

Удачи.


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

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