当前位置: 移动技术网 > IT编程>UI设计>设计软件 > FLASH CLASS的基本编写规范

FLASH CLASS的基本编写规范

2019年03月23日  | 移动技术网IT编程  | 我要评论
继续回来写教程。本来不想写这节的,因为这节的内容很多书上或者网上资料都有,而且写的比我要详细正规得多。但后来想想,还是写吧!为啥?凑篇幅呗~啊哈哈~而且后面几节要结合接宝的范例游戏,具体分析它的几个class,所以,还是用一节把class的写法说一下。可能我对class的写法也不是很正规,有老鸟看了后,最好也能指点一下。
先来个class基本的模式。文件名:time_control.as
class time_control {
//第一部分:声明本class要用到的变量
static var a:number=2;
private var b:number;
private var c:number=1;
public var d:number;
//第二部分:构造函数
function time_control() {
init();
}
//第三部分:隐式设置-获取法
public function set _d(sss:number):void {
d = sss;
}
public function get _d():number {
return (d);
}
//第四部分:私有和公有方法
private function init() {
//一般写点初始化的内容
}
private function aa() {

}
public function bb() {

}
}
如果是要继承类,比如继承movieclip类,第一行就改写成:
class time_control extends movieclip {
下面简单解释下各个部分(……我最不擅长解释说明这类东西)class类都是以
class 类名称 {
内容
}
的形式,而且类名称和文件名要相同。
class的内容分四部分
第一部分:声明本class所用到的变量,这里要提的是,和在swf里定义变量不同。swf里你可以用比如a=1这种自动变量形式,而在class里你必须写明a的类型是number,再定义变量值是1。
第二部分:是class的构造函数,什么意思呢?就是当class的实例出现后,自动执行这个function里的内容,一般都是些初始化的内容。function的名称要和class类的名称一样哦~而且这里初始化一般都是用个init()函数,init函数具体在后面回自己定义。为什么要这样而不直接把初始化内容写在构造函数内呢?因为当继承其它类的时候,构造函数是不能继承的,还得自己再写一次,而init函数是可以继承的,于是……呵呵,懒人懒办法嘛~直接把内容写在构造函数里的话,每次继承就还要重写次,用自定义init函数的话,就可以偷懒咯~
第三部分:是定义隐式设置-获取的function,什么意思呢?上节我们说过,class可以看作一个封闭的盒子,跟外界无关。但有时候我们必须读取或者改变class类内的某个变量。这时候就必须借助隐式设置-获取的function。只有定义后,外界才能读取和设置class内的变量。定义的方法就是比普通function多了get/set这个单词。而且必须要指定返回变量类型,无需返回则用void表示。
第四部分:就是写function咯~这个就不具体说了,function大家老写了~
可能大家看到,class里比平时大家写的,多了private和public,还有static这三个词。啥意思捏?简单简单的说下:
private与public定义的变量和方法都能在class内一样使用,没啥区别,而不同的地方就是,public定义的变量和方法能够被外界读取设置和使用,而private则不能,只能在封闭的class内使用。比如public var d:number=1设置了变量d是public型的。
然后在第三部分写下:
public function set _d(sss:number):void {
d = sss;
}
public function get _d():number {
return (d);
}
当class实例化在了一个mc后,trace(mc._d)就得到1。输入mc._d=2后,mc内的d就变成2啦~而private设定的变量,你从外部既不能读取也不能赋值,自己仔细体会下。
同理,例如:
public function 发绝招{
}
就像上几节图里那个封闭盒子上的发绝招按钮,实例化到mc后,就可以直接mc.发绝招()来让mc执行 发绝招() 这个function。而static定义的变量,怎么跟大家描述呢……它不存在于class的实例化里。而且static定义的变量,是被所有class实例共享的。
还是来个例子吧:
舞台attach个mc,绑定的ccc.as类。类里有个static变量s=1。ccc类里初始化函数init()里让s ,这时候s就等于2了是吧?然后继续在舞台attach个mc,绑定的ccc.as类,这个mc的s就直接等于2了。然后它在初始化函数里同样执行了s ,这时候两个mc里的s都同时变成了3。这就是所有class实例共享static变量。
怎么说呢,class撰写方面,我自己也不是很行,可能还存在少许的理解误区或者缺少技巧经验。希望老鸟也指导下。关于这节,我建议新鸟鸟们最好自己再找点正规教材自己学习下。单靠这节写的些鸟文,小鸟对class还不能很好的认识。正常。所有的知识只有通过实战才能真正的理解。
在下节里,我会详细的开始教那个接宝游戏怎么做。具体的代码怎么写。class怎么写怎么用。手把手的教鸟们学做这个范例游戏。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网