欢迎来到天天文库
浏览记录
ID:34723025
大小:63.68 KB
页数:4页
时间:2019-03-10
《flash游戏开发教程:第4节》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Flash游戏开发教程:第四节本来不想写这节的,因为这节的内容很多书上或者网上资料都有,而且写的比我要详细正规得多。但后来想想,还是写吧! 而且后面几节要结合接宝的范例游戏,具体分析它的几个CLASS,所以,还是用一节把CLASS的写法说一下。可能我对CLASS的写法也不是很正规,有老鸟看了后,最好也能指点一下。 先来个CLASS基本的模式。 文件名:Time_control.as1.2.3.classTime_control{4. //第一部分:声明本CLASS要用到的变量5. staticvara:Number=2;6. privatevarb:N
2、umber;7. privatevarc:Number=1; 8. publicvard:Number;9. //第二部分:构造函数10. functionTime_control(){11. init();12. }13. //第三部分:隐式设置-获取法14. publicfunctionset_d(sss:Number):Void{15. d=sss;16. }17. publicfunctionget_d():Number{18. return(d);19. }20. //第四部分:私有和公有方法21. pri
3、vatefunctioninit(){22. //一般写点初始化的内容23. } 24. privatefunctionaa(){ 1. 2. }3. publicfunctionbb(){ 4. 5. }6.}复制代码如果是要继承类,比如继承MovieClip类,第一行就改写成 classTime_controlextendsMovieClip{ 下面简单解释下各个部分(我最不擅长解释说明这类东西) CLASS类都是以 class类名称{ 内容 } 的形式,而且类名称和文件名要相同。 CLASS的内容
4、分四部分 第一部分 声明本CLASS所用到的变量,这里要提的是,和在SWF里定义变量不同。SWF里你可以用比如a=1这种自动变量形式,而在CLASS里你必须写明a的类型是Number,再定义变量值是1 第二部分 是CLASS的构造函数,什么意思呢?就是当CLASS的实例出现后,自动执行这个function里的内容,一般都是些初始化的内容。function的名称要和CLASS类的名称一样哦~而且这里初始化一般都是用个init()函数,init函数具体在后面回自己定义。为什么要这样而不直接把初始化内容写在构造函数内呢?因为当继承其它类的时候,构造函数是不能继承
5、的,还得自己再写一次,而init函数是可以继承的,于是……呵呵,懒人懒办法嘛~直接把内容写在构造函数里的话,每次继承就还要重写次,用自定义init函数的话,就可以偷懒咯~ 第三部分 是定义隐式设置-获取的function,什么意思呢?上节我们说过,class可以看作一个封闭的盒子,跟外界无关。但有时候我们必须读取或者改变CLASS类内的某个变量。这时候就必须借助隐式设置-获取的function。只有定义后,外界才能读取和设置CLASS内的变量。定义的方法就是比普通function多了get/set这个单词。而且必须要指定返回变量类型,无需返回则用Void表示。
6、 第四部分 就是写function咯~这个就不具体说了,function大家老写了 可能大家看到,class里比平时大家写的,多了private和public,还有static这三个词 啥意思捏? 简单简单的说下: private与public定义的变量和方法都能在CLASS内一样使用,没啥区别 而不同的地方就是,public定义的变量和方法能够被外界读取设置和使用,而private则不能,只能在封闭的CLASS内使用。 比如publicvard:Number=1设置了变量d是public型的 然后在第三部分写下:1.2.3.publicfunc
7、tionset_d(sss:Number):Void{4. d=sss;5. }6.publicfunctionget_d():Number{7. return(d);8. }复制代码当CLASS实例化在了一个MC后 trace(MC._d)就得到1 输入MC._d=2后,MC内的d就变成2啦~而private设定的变量,你从外部既不能读取也不能赋值。 自己仔细体会下 同理,例如: publicfunction发绝招{ } 就像上几节图里那个封闭盒子上的发绝招按钮,实例化到MC后,就可以直接 MC.发绝招() 来让MC执行发绝招(
8、)这个fu
此文档下载收益归作者所有