论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS编程教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

趣味教程:戏说类及对象的初始化

文章类别:Flash AS编程 | 发表日期:2008-10-6 17:36:47


前言:示例的代码都是由中文写的,不知道大家看得惯不?本想查查词霸,弄几个e文地,但怕词不达意,岂不是贻笑大方~见谅

俺是一个马戏团地,团长让俺安排安排今晚的节目表演。要求嘛,就是第一个上场的演员先要致个开场白什么地,再就是上场的演员都要再做个"我是谁谁谁"的介绍啥地。俺迅速就草就了如下安排程序:

----演员.as----

class 演员{
  static var 演员人数:Number =50;
  var _知名度:String ="大碗";
  var _姓名:String;
  function 演员(姓名) {
      _姓名 = 姓名;
      演员.开幕演说();
      自我介绍();
  }
  static function 开幕演说(){
      trace("欢迎各位大虾光临‘维艺--Flash’代码乐园,本乐园有"+演员.演员人数+"位小闪的强大阵容!");
  }
  function 自我介绍(){
    trace("现在由我"+_知名度+_姓名+"给大家表演节目,请大家给我点掌声,好不好?什么?我没听见!再热烈点!");
  }
}

然后,俺就开始彩排啦:
----表演.fla ----
(注:第一帧上代码)

var wiyi=new 演员("维艺--Flash");
var lz=new 演员("老张");
var xl=new 演员("小李");

 

彩排(其实就是"测试"哦)的结果非常之糟糕,前面上来的把"欢迎各位大虾"等等罗嗦了一遍,后面上来的又把"欢迎各位大虾"罗嗦了一遍~

不用说俺受到了团长严厉地批评,俺仔细检查了一遍程序后,发现错误出在这一句:

function 演员(姓名) {
	  _姓名 = 姓名;
	  演员.开幕演说();
	  自我介绍();
}

这里的"演员.开幕演说"本应是一个执行一次的方法,因为放到了构造函数里,所以每上来一个演员就罗嗦一通啦。但该把它放到哪里呢?这样吧:

//这里省略若干代码,请参考上面
演员.开幕演说();
function 演员(姓名) {
   _姓名 = 姓名;
   自我介绍();
} 

结果一彩排,犯了众怒,警告我说:
"第 5 行: 类定义中不允许此语句。
演员.开幕演说(); "
我也急了,大声地吼到:"好好好!我不管了!现在我把它从程序里拿掉!由我自己来致欢迎词好啦!"
以后每次表演,就成了这样:
---表演.fla---
(注:第一桢上代码)

演员.开幕演说();//神啊,救救我吧!我真怕自己一时疏忽忘了致开幕词哦~~
var wiyi=new 演员("维艺--Flash");
var lz=new 演员("老张");
var xl=new 演员("小李");
... ...

终于有一天,我忘了致开幕词,挨了团长一顿臭骂,让我给猴子搔痒去! 伤自尊咧~俺就不信处理不了这个演员程序!这是俺再次努力的结果:

class 演员{
  static var 演员人数:Number =50;// 初始化类变量.
  static var __开幕演说:Boolean = 演员.开幕演说();//初始化类变量,实际上等同于执行类方法.
  var _知名度:String ="大碗";//设定对象'知名度'属性的默认值.
  var _姓名:String;//声明对象的'姓名'属性.
  function 演员(姓名) {
    _姓名 = 姓名;//初始化对象的姓名属性.
    自我介绍();//执行对象的方法.
 }
  static function 开幕演说(){
  //类方法
    trace("欢迎各位大虾光临‘维艺--Flash’代码乐园,本乐园有"+演员.演员人数+"位小闪的强大阵容!");
  }
  function 自我介绍(){
  //对象方法
    trace("现在由我"+_知名度+_姓名+"给大家表演节目,请大家给我点掌声,好不好?什么?我没听见!再热烈点!");
 }
}

按照这次的演员程序,再次彩排:
---表演.fla---

var wiyi=new 演员("维艺--Flash");
var lz=new 演员("老张");
var xl=new 演员("小李");
... ...

彩排结果显示:
欢迎各位大虾光临‘维艺--Flash’代码乐园,本乐园有50位小闪的强大阵容!
现在由我大碗维艺--Flash给大家表演节目,请大家给我点掌声,好不好?什么?我没听见!再热烈点!
现在由我大碗老张给大家表演节目,请大家给我点掌声,好不好?什么?我没听见!再热烈点!
现在由我大碗小李给大家表演节目,请大家给我点掌声,好不好?什么?我没听见!再热烈点!

哈哈!俺成功了!至于为什么成功,俺在最后的 演员.as 里给出了详细的注释,你自己去看看吧!特别要留心这句哦:

static var __开幕演说:Boolean = 演员.开幕演说();

这是初始化执行类方法的门道所在哦!欢迎大虾不吝赐教、指正!

源文件下载(下载后请改名为:演员.as)

视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058