收藏本站 | 站点地图 | 繁體中文
沭阳乐园
您现在的位置: 沐阳乐园 >> 文章中心 >> 网络教程 >> 动画实例 >> 正文
[组图]动态产生元件实例并控制         
动态产生元件实例并控制
作者:3dmz 文章来源:原创 点击数:1303 更新时间:2011-1-26 2:10:51

在很多游戏中,都需要用到动态产生元件实例并控制的技术。比如飞机游戏里的敌人和子弹等。下面我通过例子讲解这种技术在Flash中的具体体现。

1.新建一个Flash文档,背景色设置为蓝色(#003366),大小为550*400像素,帧频设置为30帧/秒。将它另存为“动态产生元件实例并控制”。

2.绘制一滴雨滴如图1所示,并将其转换为影片剪辑元件,在空中将本元件的连接属性中的“为Actiocript导出”一栏选中并在其“标识符”栏里输入“rairdquo;。

雨滴下落

图1

3.在主时间轴的第1帧写入如图2所示代码:

雨滴下落

图2

对其中一些语句的注释如下:

number_rain = 1;

//雨滴的编号

function launcher(num_bt) {

_root.attachMovie("raiquot;, "raiquot;+num_bt, num_bt);

//从库中取得雨滴并将其附加到主场景上

_root["raiquot;+num_bt]._y = -100;

_root["raiquot;+num_bt]._x = random(450)+50;

}

“launcher()”是生成雨滴的函数。

_root.attachMovie("raiquot;, "raiquot;+num_bt, num_bt);

将库中的链接标识符为“rairdquo;的元件复制到主场景,并将其实例名称设置为&ldquoquot;raiquot;+num_bt”,层级设置为&ldquoum_bt”。&ldquoum_bt”是本函数的参数,具体数值在调用本函数的时候指定。

4.继续写入如图3所示代码

雨滴下落

图3

对其中一些语句的注释如下:

function action(rain) {

_root["eed"+rain] = 10+random(6);

//雨滴的下落速度为10到15之间

_root["t"+rain] = setInterval(function () {

rain._y += _root["eed"+rain];

if (rain._y>500) {

clearInterval(_root["t"+rain]);

//如果雨滴下落出屏幕,就清除该间隔。

removeMovieClip(rain);

//如果雨滴下落出屏幕,就删除该雨滴。

}

}, 33);

}

“action()”是控制雨滴的动作程序。

_root["t"+rain] = setInterval(function () {&helli},33)

上面的语句的意思是,每隔33毫秒执行一次语句中的函数。而“_root["eed"+rain]”表示对应每一个雨滴的控制,rain是action()函数的参数,具体数值在调用本函数的时候指定。

clearInterval(_root["t"+rain]);

clearInterval()语句用来清除上面的setInterval(),在函数中结合判断语句,实现了一旦雨滴移动到舞台外,就清除该雨滴对应的setInterval(),即系统停止控制这个雨滴移动。这样可以释放系统资源。  removeMovieClip(rain);

上面这行语句是用来删除attachMovie()产生出来的元件

5.继续写入如图4所示代买:

雨滴下落

图4

对其中一些语句的注释如下:

function main() {

main_function = setInterval(function () {

launcher(number_rain);

//调用launcher()函数,将雨滴的编号作为参数传递

action(_root["raiquot;+number_rain]);

//调用action()函数来控制产生出来的雨滴

number_rain++;

//雨滴的编号增加1

if (number_raigt;300) {

number_rain = 1;

}

}, random(20)+100);

}

main();

//执行main()函数

“main()”是主函数,里面连续调用了自定义函数“launcher();”和自定义函数“action();”。这实际上实现了产生雨滴和控制雨滴下落的过程。每执行一次,雨滴的编号就增加1,以避免冲突。

上面的main()函数仍然只是定义,所以需要在语句最后加入“main();”开始执行。

效果请看下面的“雨滴.swf”

雨滴.swf

文章录入:晴天    责任编辑:清水洗尘 
  • 上一篇文章:
  • 下一篇文章:
  • 【字体: 】 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    广告招商
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    ::发表评论::
     姓 名:
     评 分: 1分 2分 3分 4分 5分
     评论内容:
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用本网服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  • 广告招商
    文章 下载 图片 文字广告
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登陆

    备案/许可证编号: 闽ICP备16020960号-1号 域名创建于2016年8月
    版权: 沐阳乐园 All Rights Reserved 站长:张萍 邮箱:381415887@qq.com 联系QQ:联系站长