2007/04/20 | for循环,函数定义,类的学习笔记
类别(flash As) | 评论(2) | 阅读(280) | 发表于 18:25
//for

for(var i=0;i<10;i++)
   {
      if(i%3 != 0 )
      {
         continue;
      }
         trace(i+"只有能被3整除的数字才会执行这句.");
         //...
   }


for(var total=0,i=0,j=0;i<10;i++,j++)
   {

      total += i+j;

   }

   trace(total+"循环变量语句中可以使用多个表达式并用逗号隔开,条件语句中不可以使用多个语句");



for(i in _root)
   {
      if(typeof (_root[i])=="movieclip")
      {
         _root[i].alpha=50;
         trace("for..in..是遍历场景中的所有movieclip然后设为50透明度")

      }

   }

//函数

function sumab(x:Number,y:Number):Number
   {

      var total:Number;
      total= x+y;
      return total;


      }

function sumab():Number
   {

      var total:Number;

      for (var i=0; i<arguments.length;i++)
         {

            total += arguments[i];

         }

         return total;
   }

   trace(sumab(1,2,3,4,5,6,7));

   //arguments是一个函数的局部变量,用于保存传递给函数的参数值。他的一个重要属性是length,表示arguments数组的长度



//类的变量
//结合static关键字,可以把类定义中的“变量”分为4种:公共实例变量、私有实例变量(这两个是生成实例以后,实例可以引用的)
//公共类变量、私有类变量。在类的定义中声明变量的时候,先是private/public,再是static,最后是var;


class Ball{

   //公共实例属性xPosition,yPosition
   public var xPosition:Number;
   public var yPosition:Number;
   //私有实例属性radius
   private var radius:Number=10;
   //公共类属性instanceNum,用于记录用此类生成的实例个数
   public static var instanceNum:Number=0;
   //私有类属性className
   private static var className:String="Ball";

   //用“static”声明的是类自己的属性,不是实例的属性。在使用时,能过new构造出的实例是不能使用这类属性的

   //构造类

   function Ball(r:Number,x:Number,y:Number){
      radius =r ;
      xPosition=x;
      yPosition=y;
      //每生成一个实例instanceNum加1
      instanceNum ++;


      }

}

//在flash中使用这个ball的类
var myBall:Ball = new Ball(5,100,100);
trace(myBall.xPosition);//合法使用,引用公有实例变量
trace(myBall.radius);//不合法,不能通过实例访问私有实例变量
trace(Ball.instanceNum);////合法使用,公有类属性。
trace(Ball.className);//不合法,私有类属性,只可以在类的内部自己使用

//推荐在定义类的变量时,将所有变量类型设为私有,private .外部调用只用"方法"来实现


//类的方法
//在类中定义的所有函数(除了构造函数)都是类的方法
//“方法”也可以定义为公有或私有,实例或类 public,private ,static

class Ball{


   private var xPosition:Number;
   private var yPosition:Number;

   private var radius:Number=10;

   private static var instanceNum:Number=0;

   private static var className:String="Ball";



   function Ball(r:Number,x:Number,y:Number){
      radius =r ;
      xPosition=x;
      yPosition=y;
      //每生成一个实例instanceNum加1
      instanceNum ++;


      }
   public function getArea():Number{

      return Math.PI*radius*radius
      }


   //获取xPosition的值的方法定义如下

   public function get xPositionValue():Number{
         return xPosition;
      }

   //设置xPosition值的方法定义:

   public function set xPostitionValue(xpv:Number):Number{

      xPosition=xpv;
      }

   public function get yPositionValue():Number{
         return yPosition;
      }
   public function set yPositionValue(xpv:Number):Number{
         yPosition=xpv
      }
}
0

评论Comments

日志分类
首页[193]
flash As[107]
有的没的[59]
数码照片[4]
自由世界[19]
blender[4]