如何从父母调用变量? AS3

时间:2017-02-21 03:55:38

标签: actionscript-3 flash variables

假设我在movieclip的actionscript面板中有一个变量

parent_mc:

public class randStr{
        private static final Random random = new SecureRandom();

        //public static final int pass_length;
        public static int pass_length;

        public static String genRanPass()
        {
            //int pass_length;
            Scanner scan = new Scanner(System.in);
            String letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNPOQRSTUVWXYZ1234567890!@#$%^&*";

            String pw = "";
            System.out.println("length: ");
            pass_length = scan.nextInt();
            try{
                for(int i = 0; i<pass_length; i++){
                    int index = (int)(random.nextDouble()*letters.length());
                    pw += letters.substring(index,index+1);
               }
                  //System.out.println(pw);
                  //return pw;  
            }
            catch(Exception e){
                System.out.println(e);
            }
            System.out.println(pw);
            return pw;
        }
        public static void main(String args[]){
            genRanPass();
            //System.out.println(pw);
        }
    }

在这个movieclip中是另一个带有自己的动作脚本的动画片段

child_mc:

var ispaused:Boolean = false;

在处理子动画片段中的动作脚本时,如何从父母调用变量?

2 个答案:

答案 0 :(得分:0)

恩...

if (parent.ispaused) // ...

如果由于编译时类型转换而无效:

if (parent["ispaused"]) // ...

或者您可以进行类型转换:

if ((parent as ParentClass).ispaused) // ...

答案 1 :(得分:0)

我实际上发现这是从父级调用变量的正确方法,而字面意思是MovieClip(root)不会改变。

if ((MovieClip(root).entervariablename))
{ dothisaction; }

或修改变量值

if (thistrigger)
{ (MovieClip(root).entervariablename) = desiredvalue; }