在AS3中对类进行子类化和使用布尔值

时间:2013-03-01 04:20:35

标签: actionscript-3 flash

两个问题;这次没有代码,但它们应该很简单。

1)AS3希望我继承一个扩展Stage的类;我不知道如何做到这一点,因为它给出了包装线上的错误...... 代码基本上是:

package
{
    import flash.whatever.Stage
    public class thisclass extends Stage
    {
        public function thisclass()
        {
        }
    }
}

我不确定我的所有大写是否正确,我在学校有代码。我需要在功能中添加一些东西吗?如果是这样的话?

2)AS3还希望我使用变量属性。     var I:布尔值;     if(I == true) 错误发生在if行...... 我应该把它宣布为I.something吗?将其改为小写? (本来可以测试,但在我上学的时候没想到)

更新:我尝试使用.value并声明并使用布尔值作为.something,没有任何工作,也没有尝试使用小写...无法使我的空白阶段类工作... 另一个问题:什么是导入flash.whatever.whatever switch case?

NEW STUFF:

package
{
    import flash.events.* 
    import flash.ui.*
    import flash.display.MovieClip

    public class tank extends MovieClip 
    {
        var ii:Boolean; var kk:Boolean; var ww:Boolean; var ss:Boolean;
        public function tank()
        {
            this.addEventListener(Event.ENTER_FRAME, update);
            stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
            stage.addEventListener(KeyboardEvent.KEY_DOWN, keydown);
            this.x = 500; this.y = 500;
        }

        public function update(event:Event):void
        {
            var rotang = 0;
            var speed;
            if(ii==true)
            {
                rotang = rotang + 1;
            }
            if(kk==true)
            {
                rotang = rotang - 1;
            }
            if(ww==true)
            {
                rotang = rotang - 1; 
            }
            if(speed > 0)
            {
                speed = speed - 1;
            }
            if(speed < 0)
            {
                speed = speed + 1;
            }
            if(ss==true)
            {
                rotang = rotang + 1;
            }
            if(ii==true && ww==true)
            {
                speed = speed + 3;
            }
            if(kk==true && ss==true)
            {
                speed = speed - 3;
            }
            if(speed > 30)
            {
                speed = 30;
            }
            if(speed < -30)
            {
                speed = -30;
            }
            var vy =  Math.sin(this.degreesToRadians(rotang))*speed;
            var vx = Math.cos(this.degreesToRadians(rotang))*speed;
            this.y = this.y + vy;
            this.x = this.x + vx;
            this.rotation = rotang * Math.PI / 180;
        }
        public function degreesToRadians(param1:Number) : Number
        {
            return param1 * Math.PI / 180;
        }
        public function keyup(event:KeyboardEvent):void
        {
            switch(event.keyCode) 
            {
                case 87 :
                        ww = false;
                        break;
                case 83 :
                        ss = false;
                        break;
                case 73 :
                        ii = false;
                        break;
                case 75 :
                        kk = false;
                        break;
            }
        }

        public function keydown(event:KeyboardEvent):void
        {
            switch(event.keyCode) 
            {
                case 87 :
                        ww = true;
                        break;
                case 83 :
                        ss = true;
                        break;
                case 73 :
                        ii = true;
                        break;
                case 75 :
                        kk = true;
                        break;
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

试试这个:

package 
{
  import flash.display.MovieClip;

public class myClass extends MovieClip
{
    private var bln:Boolean = false;

    public function myClass()
    {
        if (bln == false)
        {
            trace("Value of boolean is false");
        }
     }
  } 
}

这是有效的。