Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Вставка символа из файла (http://www.flasher.ru/forum/showthread.php?t=214134)

anda30 21.04.2017 16:52

Вставка символа из файла
 
Вложений: 1
Всем привет
Помогите.
Я создал в отдельном файле Датчик3.fla, которым я могу управлять.
Затем я вставил этот прибор как символ в другой проект.
Где эти прибором я могу управлять, но доступа к "ComboBox" в приборе я не имею.
Как надо правильно вставлять чужие символы в проект, чтоб можно было получить доступ к внутренним элементам этого символа?
С уважением
Александр.

anda30 26.04.2017 15:17

Всем . Всем . помогите.
Может я не корректно спросил.
Как вставлять символ (круг, квадрат..) я знаю.
Но у меня символ сложный. Состоит из MovieClip, в который вставлен компонент из библиотеки и я этим компонентом хочу управлять.
Если долго писать, можно просто дать ссылку.
С уважением
Александр

faraday 26.04.2017 17:09

Код AS3:

Я создал в отдельном файле Датчик3.fla, которым я могу управлять.

как управляете в этом файле?

anda30 27.04.2017 14:27

Спасибо
Этот файл можно скачать выше.
В этом файле "Датчик3" я управляю компонентом "DataGrid".
А когда я вставляю "Датчик3" в другой пороект - я уже не могу управлять "DataGrid".

callme 27.04.2017 15:01

Не качал ваш файл, поэтому просто догадки:

В файле, откуда вы копируете символ, в библиотеке лежат еще и компоненты, которые нужны этому символу. А в новый файл вы, наверно, эти компоненты не добавили, поэтому и не работает.

undefined 27.04.2017 15:21

я скачал.В указаном файле компонента DataGrid не обнаружено(открывал через flash cc)

anda30 27.04.2017 15:46

Всем спасибо
Я ошибся .
Не DataGrid а ComboBox
Еще раз извините.

faraday 27.04.2017 18:04

не все тут пишут код во флеше, поэтому и открыть нельзя. чтобы управлять из кода объектом на сцене. нужно в свойствах указать имя объекта и обращаться по нему. если при попытке обращения ошибка - то какая?

anda30 19.06.2017 12:24

Всем привет
Я думал, что смогу сам решить свою пороблему однако не получилось
Я при помощи "NumericSteper" выбираю сколько датчиков должно быть.
Каждый датчик это "мувиклип".
В датчик также входит "ComboBox", в котором я могу выбирать подтип датчика.
Отдельно датчик как "fla"работает без проблем и я имею доступ к "ComboBox".
Но когда я этот датчик создал как символ в главной программе: во первых я тот датчик не могу передвигать по сцене и второе, я не имею доступа к "ComboBox" в датчике.
Если вместо датчика я вставляю обычный символ - я могу его передвигать по сцене.
Подскажите что неправильно.
С уважением
Александр

Код AS3:

import fl.controls.ComboBox;
 
var i,k:int;
var ind1:int;
var DvMouse:int;
var txt:String="0";
var str1:String;
var PAct:Array = new Array(1.25, 2.0, 1.1, 1.3, 1.6, 0.8);
 
var DUG:uint=0x00FFFF;                // синий
var DA:uint=0x000000;          // черный
var DM:uint=0xDD0000;            // красный 0.56
var DGG:uint=0xA52A2A;                // КОРИЧНЕВЫЙ 1.12
var DT:uint=0x00DD00;                // зеленый
var DP:uint=0xFFFF00;                // желтый       
 
DD.Dat.Selector.rowCount=8;
 
 
var Selector:ComboBox = new ComboBox();
var SelectColor:ColorTransform = new ColorTransform();
 
DD.Dat.Selector.addItem({label:"ДУГ"})//DUG
DD.Dat.Selector.addItem({label:"ДА"})//DA
DD.Dat.Selector.addItem({label:"ДМ"})//DM
DD.Dat.Selector.addItem({label:"ДГГ"}); // DGG
DD.Dat.Selector.addItem({label:"ДТ"})// DT
DD.Dat.Selector.addItem({label:"ДП"})// DP
DD.Dat.Selector.selectedIndex=1;
 
stage.addEventListener(MouseEvent.MOUSE_DOWN, DvigStart);
DD.Dat.Selector.addEventListener(Event.CHANGE, SelectorChange);
 
 
function DvigStart(e:MouseEvent){
 
        DvMouse=1;
        if(e.target.name!=null){
        txt=e.target.name.toString();
        trace("Имя=  "+txt);
 
//trace(Dat5.getChildByName("ss20")); 
        str1=txt.substr(0,2);
        if(((e.target.name!=null)&&(str1=="ss"))||(e.target.name=="txt_Out"))
        {       
 
                e.target.startDrag();       
                str1=txt.substr(2);
                trace("№ прибора=  "+str1);
                k=e.target.x;
                trace("По Х ="+k);
        }
        }
}
 
function SelectorChange(e:Event):void{
 
        trace("654654654");
        ind1=DD.Dat.Selector.selectedIndex;
 
        switch (ind1){
                case 0:        SelectColor.color=DUG; DD.Dat2.transform.colorTransform=SelectColor;  DD.SostD.text ="P(Ватт )="+ PAct[0].toString(); break;
                case 1:        SelectColor.color=DA; DD.Dat2.transform.colorTransform=SelectColor;  DD.SostD.text ="P(Ватт )="+ PAct[1].toString(); break;
                case 2:        SelectColor.color=DM; DD.Dat2.transform.colorTransform=SelectColor;  DD.SostD.text ="P(Ватт )="+ PAct[2].toString(); break;
                case 3:        SelectColor.color=DGG; DD.Dat2.transform.colorTransform=SelectColor;  DD.SostD.text ="P(Ватт )="+ PAct[3].toString(); break;
                case 4:        SelectColor.color=DT; DD.Dat2.transform.colorTransform=SelectColor;  DD.SostD.text ="P(Ватт )="+ PAct[4].toString(); break;
                case 5:        SelectColor.color=DP; DD.Dat2.transform.colorTransform=SelectColor;  DD.SostD.text ="P(Ватт )="+ PAct[5].toString(); break;
        }
        DD.Dat.background=true;
//        Dat3.Out1.backgroundColor=DM;
}


ZackMercury 19.06.2017 12:54

я просто проходил мимо, и увидел это безобразие:
Код AS3:

function SelectorChange(e:Event):void{
 
        trace("654654654");
        ind1=DD.Dat.Selector.selectedIndex;
 
        switch (ind1){
                case 0:        SelectColor.color=DUG; DD.Dat2.transform.colorTransform=SelectColor;  DD.SostD.text ="P(Ватт )="+ PAct[0].toString(); break;
                case 1:        SelectColor.color=DA; DD.Dat2.transform.colorTransform=SelectColor;  DD.SostD.text ="P(Ватт )="+ PAct[1].toString(); break;
                case 2:        SelectColor.color=DM; DD.Dat2.transform.colorTransform=SelectColor;  DD.SostD.text ="P(Ватт )="+ PAct[2].toString(); break;
                case 3:        SelectColor.color=DGG; DD.Dat2.transform.colorTransform=SelectColor;  DD.SostD.text ="P(Ватт )="+ PAct[3].toString(); break;
                case 4:        SelectColor.color=DT; DD.Dat2.transform.colorTransform=SelectColor;  DD.SostD.text ="P(Ватт )="+ PAct[4].toString(); break;
                case 5:        SelectColor.color=DP; DD.Dat2.transform.colorTransform=SelectColor;  DD.SostD.text ="P(Ватт )="+ PAct[5].toString(); break;
        }
        DD.Dat.background=true;
//        Dat3.Out1.backgroundColor=DM;
}

->

Код AS3:

function SelectorChange(e:Event):void{
 
        trace("654654654");
        ind1 = DD.Dat.Selector.selectedIndex;
 
        switch (ind1){ //вообще неплохо бы научиться пользоваться массивами, свитчи в таких ситуациях не красиво использовать
        //в идеале можно просто заменить строкой SelectColor.color = colors[ind1];
                case 0:        SelectColor.color = DUG; break;
                case 1:        SelectColor.color = DA; break;
                case 2:        SelectColor.color = DM; break;
                case 3:        SelectColor.color = DGG; break;
                case 4:        SelectColor.color = DT; break;
                case 5:        SelectColor.color = DP; break;
        }
        DD.Dat2.transform.colorTransform = SelectColor; 
        DD.SostD.text = "P(Ватт )="+ PAct[ind1].toString();
        DD.Dat.background=true;
//        Dat3.Out1.backgroundColor=DM;
}



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

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