Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   vars copy (http://www.flasher.ru/forum/showthread.php?t=172666)

sneltyn 14.12.2011 22:51

vars copy
 
как можно скопировать значение переменной?

КорДум 14.12.2011 22:54

Простые типы копируются по значению и так:
Код AS3:

var var1:int = 10;
var var2:int = var1;
var2++;
trace(var1, var2); // 10 11


sneltyn 14.12.2011 23:15

В моем случае так не проходит=((( у меня есть функция и из нее я хочу скопировать значение переменой, когда сделал так то трейс выдает "0".

КорДум 14.12.2011 23:17

Покажите функцию. Хотя, телепаты говорят, что функция должна возвращать какое-то значение.

in4core 14.12.2011 23:17

показывайте код

sneltyn 14.12.2011 23:22

Код AS3:

var minText:String;
var minText2:String=minText;
 
function btnClick (e:MouseEvent):void
        {
                        for(var i:int=0; i<e.target.length;i++)
                        {
                                contents.addChild(listing);
                                var btn_child:MovieClip = new btnchild();
                                btn_child.x = temp.width+temp.x;
                                btn_child.y = i*23.5;
                                var txtChild:TextField = new TextField()
                                    var newFormat:TextFormat = new TextFormat();
                                    txtChild.y = 5;
                                txtChild.selectable = false;
                                    txtChild.width = 200;
                                    txtChild.height = 20;
                                newFormat.size = 13;
                                newFormat.color=0xffffff;
                                txtChild.text = e.target.children[i].attributes()[0];
                                listing.addChild(btn_child);
                                btn_child.addChild(txtChild);
                                //trace(listing.height)
                                txtChild.setTextFormat(newFormat);
                                txtChild.mouseEnabled = false;
                                btn_child.minText=e.target.children[i].attributes()[1];
                                btn_child.maxText=e.target.children[i].attributes()[2];
                                btn_child.linkUrl=e.target.children[i].attributes()[3];
                                btn_child.addEventListener(MouseEvent.CLICK, linkto);
                        }
 
                function linkto(e:Event):void
                {
                        minText=obj_2.minText
                        //trace(minText);
                        url= e.target.linkUrl;
                        minT.text=e.target.minText+' mm';
                        maxT.text=e.target.maxText+' mm';
                }
 
}
 
trace(minText2)

minText хочу записать в minText2

КорДум 14.12.2011 23:25

Вытащите хендлер (вторую функцию) из первого хендлера (функции). И я не вижу в этом коде объявления переменной minText2. Только minText есть.

sneltyn 14.12.2011 23:31

она есть! Я просто чтобы не долго в коде розбераться начало убрал там и так все ясно переменные да и все! А вот
Цитата:

Вытащите хендлер (вторую функцию) из первого хендлера (функции).
не очень понял как это работает? Я только учусь). Просто функцию из функции вытащить? Но мне кажеться это не поможет!

КорДум 14.12.2011 23:45

Не поможет, но сделает код на долю правильнее.
Я также не вижу присвоения этой переменной. Покажите весь тематичный код.

sneltyn 14.12.2011 23:49

я уже отредактировал. Я имею ввиду код сверху: прописал переменные!

КорДум 15.12.2011 00:02

Код AS3:

var minText:String; // null
var minText2:String=minText; // null
//....
//бесполезный кусок кода
//....
trace(minText2) // null

Все верно. Вы должны изменить значение, чтобы оно изменилось (кэп).

sneltyn 15.12.2011 00:15

Ну так я его изменил
Код AS3:

minText=obj_2.minText


КорДум 15.12.2011 00:22

Ну а в minText2 остался null. Вы не изменили его.

sneltyn 15.12.2011 00:53

тогда как ее изменить? В функции дописал это
Код AS3:

minText2=minText;

не помогло=(

КорДум 15.12.2011 01:04

Трейс срабатывает раньше, чем Вы кликните. Поместите трейс после этой строчки в хендлер. Тогда все будет показывать.

sneltyn 15.12.2011 01:05

Да я знаю но мне нужно получить его значение после того как функция сработает. Потому, что потом будет другая функцияя которой понадобиться minText2 но в linkto мне не нужна эта функция. Это можно как то реализовать?

КорДум 15.12.2011 01:07

Во флеше один поток (пока). Поэтому это значение изменится в этом потоке и Вы сразу же сможете его получить откуда угодно. Но нужно дождаться, чтобы оно изменилось.

sneltyn 15.12.2011 01:08

И как мне его получить? Или это не возможно?

КорДум 15.12.2011 23:37

В смысле получить?
Цитата:

Поэтому это значение изменится в этом потоке и Вы сразу же сможете его получить откуда угодно. Но нужно дождаться, чтобы оно изменилось.
Получайте, когда изменится. И вообще, куда получить?


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

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