什么是AS2.0面向对象编程[Flash设计]
本文“什么是AS2.0面向对象编程[Flash设计]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
有时间,有爱好,E文还行的可以直接上这看:http://www.kirupa.com/developer/oop2/AS2OOPindex.htm,很长,很具体.
我简单地把我理解的说一下,错误在所不免,不啬赐教,共同进步
引用张图先:
全部的类都是在外部定义,当然假如要利用它们的话,需求设置一下类途径,点击公布设置->actionscript2设置,在类途径里增添你要利用的类途径就行了,当然假如你但愿每个flash都利用那些类,那么可以在"编辑->首选项->actionscript2设置"那增添类途径.当然假如只是图个便利的话,直接放到当前文件夹下面便可以了.
在一个.as文件里只能有一个class,并且这个class的name必须和文件名相同.比方有一个motion.as,那么就必须定义一个motion类:
//motion.as
class motion extends MovieClip{
function motion(){
// constructor
}
}
看起来对比古板,但管理起来确切便利了不少.
可以成立一个构造函数(就是跟class同名的函数),这样实例化的时刻便可以调用该函数.
变量的范例
支持private,static和public,private不答应外部拜候和改正,但可以被children读写(所以相当于protected),默许假如用var声明的话,是public,static可以不用实例化,直接利用.
函数的范例
跟变量的范例一样,也是private,static和public三种,static声明的可以直接利用,比方Math.random().静态函数只能利用静态变量,其他范例的函数不受影响.
再来说讲interface,给我的感受,interface就是为了便利多人合作,避免某些函数没有被声明.
//simpleInterface.as
interface simpleInterface {
function head();
function body();
function foot();
//myClass.as
class myClass implements simpleInterface {
function head(){
trace("I'm head");
}
function body(){
trace("I'm body");
}
function foot(){
trace("I'm foot");
}
}
担当
担当的类拥有父类的全部办法和变量(通过extends实现)
//ball拥有mc的全部办法,同时还有自己的fly办法
//ball.as
class ball extends MovieClip{
private var height:Number;
function fly(){
trace("I can fly "+height+" m");
}
function ball(h){
height = h;
}
}
//时间轴
myball = new ball(30);
myball.fly();//trace "I can fly 30 m"
关于构造函数
假如子类的构造函数没有显示调用父类的构造函数,那么flash会自动给你加上,当然也可以通过super()手动加上
也可通过super去调用父类的其他办法,比方super.parentMethod();
假如想让舞台上的某个mc利用我们自定义的类的话,在链接处的class里天上类名便可以了:
最后来说说文件的管理,最好是新建一个项目,这样查看起来非常便利.
好了,就说这么多了,有时间附上个demo.
欢送谈论.
附个小demo
ball.as
class ball extends MovieClip {
private var spring:Number = 0.1;
private var friction:Number = 0.95;
private var centerX = (Stage.width-this._width)/2;
private var v:Number = 0;
public function ball() {
_x = 0;
_y = Stage.height/2 - _height/2;
this.onEnterFrame = this.start_spring;
}
private function start_spring() {
var a:Number = (centerX - _x)*spring;
v += a;
//v *= friction;
_x += v;
}
}
在当前途径下,新建一个mc,然后按下图:
最后ctrl+enter就可以看到效果了.
源文件下载:ball.rar
作者:lzyy 来自:蓝色抱负
以上是“什么是AS2.0面向对象编程[Flash设计]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |