Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 我的var似乎不想从自定义类继承_Actionscript 3_Class_Flash_Undefined - Fatal编程技术网

Actionscript 3 我的var似乎不想从自定义类继承

Actionscript 3 我的var似乎不想从自定义类继承,actionscript-3,class,flash,undefined,Actionscript 3,Class,Flash,Undefined,我真的很抱歉,如果这最终成为一个noob问题 我有一个var,它被设置为类的一个新对象。然而,每当我测试它时,我总是得到错误1120。我知道这个错误意味着它是一个未定义的属性。我试着把它的范围改到主课上所有可能的地方。即在导入和构造函数之后的类 该代码应该是龙与地下城4e角色创建者的一部分 我已经试了好几个小时想找到解决办法,但我就是不确定。如果有任何帮助,将包括我的属性类 var Humon:Attributes = new Attributes 它被声明为我的主类的一部分: package

我真的很抱歉,如果这最终成为一个noob问题

我有一个var,它被设置为类的一个新对象。然而,每当我测试它时,我总是得到错误1120。我知道这个错误意味着它是一个未定义的属性。我试着把它的范围改到主课上所有可能的地方。即在导入和构造函数之后的类

该代码应该是龙与地下城4e角色创建者的一部分

我已经试了好几个小时想找到解决办法,但我就是不确定。如果有任何帮助,将包括我的属性类

var Humon:Attributes = new Attributes
它被声明为我的主类的一部分:

package
{
//imports
import com.Classes.Attributes;
import flash.text.*;

public class Main extends MovieClip()
{

    private var Humon:Attributes = new Attributes;

    public function Main()
    {
            Atties.text = (Humon.getStr()+", "+Humon.getDex()+", "+Humon.getCon()+", "+Humon.getInt()+", "+Humon.getWis()+",  "+Humon.getCha()+".");
            var res:int = Humon.getStr();
            trace("Humon Str is "+res+".");
        }
    }
}
下面是类属性

//This class defines the frame work for all classes used

package
{

    public class Attributes extends Object
{

//vars go here

//saves variables  (get auto updated through function makeDefaultModsAndSaves())
    static var refSave:int = 0;
    static var forSave:int = 0;
    static var wilSave:int = 0;
//attribute modifiers (get auto updated through function makeDefaultModsAndSaves())
    static var StrMod:int = 0;
    static var DexMod:int = 0;
    static var ConMod:int = 0;
    static var IntMod:int = 0;
    static var WisMod:int = 0;
    static var ChaMod:int = 0;


//2d array to store attributes [x][y] where x is str/dex/con/int/wis/cha and y is value
        static var Attrs:Array = new Array(); 
        Atts[0] = [10]; 
        Atts[1] = [10]; 
        Atts[2] = [10]; 
        Atts[3] = [10]; 
        Atts[4] = [10]; 
        Atts[5] = [10]; 

    function Attributes()
    {
    //constructor
        trace("Attributes loaded");
    }

 //functions to GET Attributes
    function getStr():int
        {
            var Str:int = 0;
            Str = Atts[0][0];
            trace ("Getting Str. It is " + Str);
            return Str;
        }
//different functions, same syntax as getStr above
function getDex():int
    {
        var Dex:int = 0;
        Dex = Atts[1][0];
        trace ("Getting Dex. It is" + Dex);
        return Dex;
    }

function getCon():int
    {
        var Con:int = 0;
        Con = Atts[2][0];
        trace ("Getting Con. It is" + Con);
        return Con;
    }

function getInt():int
    {
        var Int:int = 0;
        Int = Atts[3][0];
        trace ("Getting Int. It is" + Int);
        return Int;
    }

function getWis():int
    {
        var Wis:int = 0;
        Wis = Atts[4][0];
        trace ("Getting Wis. It is" + Wis);
        return Wis;
    }

function getCha():int
    {
        var Cha:int = 0;
        Cha = Atts[5][0];
        trace ("Cha is" + Cha);
        return Cha;
    }

//functions to SET Attributes
function setStr(input:int)
{
    //trace old value
    trace("Old Strength is: "+Atts[0][0]+".");

    //assign new value from whatever source
    Atts[0][0] = input;

    //check new strength
    trace("New Strength is: "+Atts[0][0]+"./n");

    //and update mods/saves
    makeDefaultModsAndSaves()
}

    //different functions, same syntax as getStr above
function setDex(input:int)
{
    trace("Old Dexterity is: "+Atts[0][0]+".");
    Atts[1][0] = input;
    trace("New Dexterity is: "+Atts[0][0]+"./n");
    makeDefaultModsAndSaves()
}

function setCon(input:int)
{
    trace("Old Constitution is: "+Atts[2][0]+".");
    Atts[2][0] = input;
    trace("New Constitution is: "+Atts[2][0]+"./n");
    makeDefaultModsAndSaves()
}

function setInt(input:int)
{
    trace("Old Intelligence is: "+Atts[3][0]+".");
    Atts[3][0] = input;
    trace("New Intelligence is: "+Atts[3][0]+"./n");
    makeDefaultModsAndSaves()
}

function setWis(input:int)
{
    trace("Old Wisdom is: "+Atts[4][0]+".");
    Atts[4][0] = input;
    trace("New Wisdom is: "+Atts[4][0]+"./n");
    makeDefaultModsAndSaves()
}

function setCha(input:int)
{
    trace("Old Charisma is: "+Atts[5][0]+".");
    Atts[5][0] = input;
    trace("New Charisma is: "+Atts[5][0]+"./n");
    makeDefaultModsAndSaves()
}

//function to calculate and apply modifiers based off of ATTRIBUTES ONLY
        function makeDefaultModsAndSaves():int
        {

            for(var i:int = 0; i < Atts.length; i++)
            {
                var modifier: int = 0;
                trace("Current loop: "+i);              
                modifier = (((Atts[i][0])-10)/2);

            switch (i)
            {

           case 0:
           StrMod = modifier;
           trace("Strength is "+Atts[i] +" and has a modifier of "+StrMod+".\n");
           break;

        case 1:
        DexMod = modifier;
        trace("Dexterity is "+Atts[i]+" and has a modifier of "+DexMod+". The reflex save bonus is "+refSave+".\n");
        break;

        case 2:
        ConMod = modifier;
        forSave = modifier;
        trace("Constitution is "+ Atts[i]+" and has a modifier of "+ConMod+". The fortitude save bonus is "+forSave+".\n");
        break;

        case 3:
        IntMod = modifier;
        trace("Intelligence is " +Atts[i]+" and has a modifier of "+IntMod+".\n");
        break;

        case 4:
        WisMod = modifier;
        trace("Wisdom is "+Atts[i]+" and has a modifier of "+WisMod+". The will save bonus is "+wilSave+".\n");
        break;

        case 5:
        ChaMod = modifier;
        trace("Charisma is "+Atts[i]+" and has a modifier of "+ChaMod+".\n");
        break;
        } 


        }
    return modifier;
}

//temporary var to initialise function.
var arse:int = makeDefaultModsAndSaves()


}
}
删除括号:

public class Main extends MovieClip()
public class Main extends MovieClip
确保Main.as和Attributes.as位于同一文件夹中。 删除不必要的导入语句:

import com.Classes.Attributes;
这里有一个错误:

static var Attrs:Array = new Array();
Atts[0] = [10];
Atts[1] = [10];
Atts[2] = [10];
...
将Attrs重命名为Atts

在Main.as类中,您向Atties地址。什么是服装?
Atties是舞台上的一个文本框,应该显示返回的任何统计信息。你做了些改变,看起来好多了。这一次没有错误,但也没有其他任何事情发生。没有痕迹什么的。2-为什么进口是不必要的?我想如果你想让一个对象继承你需要访问它继承的类的属性。或者是因为类共享同一个文件夹,它可以引用它,而不必使用import语句?1我看到了所有跟踪。2如果两个类放在同一个文件夹中,您不需要使用导入语句。请再次尝试并神奇地使用它,一切正常,谢谢您的帮助