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