快速业务通道

Flash面向对象程序设计的演变

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-13
刚才主影片的程序代码,然后如以下程序代码作修改:
以下内容为程序代码:
#initclip
//建构函式
BallClass = function ()
{
this.initBall();
};
//继承MovieClip类
MovieClip.prototype = new MovieClip();
//定义方法
BallClass.prototype.initBall = function()
{
var speed = 10;
var dir = random(360)*Math.PI/180;
this.xdir = Math.cos(dir)*speed;
this.ydir = Math.sin(dir)*speed;
this.onEnterFrame=this.moveBall;
};
BallClass.prototype.moveBall = function()
{
var x = this._x;
var y = this._y;
x += this.xdir;
y += this.ydir;
if ((x<0 and this.xdir<0) or (x>292 and this.xdir>0))
{
this.xdir *= -1;
x = (x<0) ? 0 : 292;
}
else if ((y<0 and this.ydir<0) or (y>292 and this.ydir>0))
{
this.ydir *= -1;
y = (y<0) ? 0 : 292;
}
this._x = x;
this._y = y;
};
//将BallClass类与Movie Clip元件相关联
Object.registerClass("ball",BallClass);
#endinitclip
在元件库里Movie Clip ball旁按右键选”连结”,如图所示 勾选”Exprot for ActionScript”,取消勾选”Export in first fame”,识别名称输入ball.这样BallClass类便可以跟此元件相关联,所有此元件在舞台的Movie Clip实体,也就是BallClass实体.修改后可以测试影片. 特点分析:
在Flash MX时,这是普遍面向对像程序设计的做法,写成的粒子组件,在重用性,封装性等上都已经达到Flash面向对象程序设计的要求.唯一缺点是Prototype Based的面向对象程序设计不是业界习惯,所以到Flash MX 2004就有了ActionScript 2.0. 5.ActionScript 2.0类
粒子运动系统以ActionScript 2.0重写,面向对象概念跟ActionScript 1.0没有分别,只是方法上不同. 开发步骤:
基于上面的源程序的修改.将Movie Clip ball图层script删除.在元件库里Movie Clip ball旁按右键选”连结”,输入AS 2.0类为BallClass,这步骤已经等于Object.registerClass(“ball”,BallClass); 建立一个名为BallClass.as的文件,加入程序代码:
以下内容为程序代码:
//继承MovieClip类
class BallClass extends MovieClip
{
//属性
private var xdir:Number;
private var ydir:Number;
//建构函式
function BallClass()
{
initBall();
}
//方法
private function initBall():Void
{
var speed = 10;
var dir = random(360)*Math.PI/180;
xdir = Math.cos(dir)*speed;
ydir = Math.sin(dir)*speed;
onEnterFrame = this.moveBall;
}
private function moveBall():Void
{
var x = _x;
var y = _y;
x += xdir;
y += ydir;
if ((x<0 and xdir<0) or (x>292 and xdir>0))
{
xdir *= -1;
x = (x<0) ? 0 : 292;
}
else if ((y<0 and ydir<0) or (y>292 and ydir>0))
{
ydir *= -1;
y = (y<0) ? 0 : 292;
}
_x = x;
_y = y;
}
}
完成后可以测试影片(记得以Flash 6/7 ActionScript 2.0发布). 特点分析:
ActionScript 1.0的类,如果没有名称领域,都是在_root建立 ,ActionScript 2.0的类,则在_global建立,而且自行处理好名称领域问题.
从以上各例子一步步的演变,可以看到无论面向对象程序设计语法是如何改变,最核心控制粒子随机移动的程序都是大同小异的,而且面向对象程序设计概念是不变的.因此Flash MX面向对象程序设计新手要从全域函数到程序设计ActionScript 2.0是没有障碍的,学了面向对象程序设计概念,学了ActionScript 2.0方法,就应该踏出尝试第一步. 注:本站只作个人研究,转贴请注明出处 关键词:对象

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号