一道FLASH AS2.0代码

一道FLASH AS2.0代码,第1张

首先,没有调整的代码中存在一个问题,那就是i没有进行变化,导致问题是雪花元件被复制出来后,又被删除了。所以达不到下雪效果,不知是不是少复制出洞猜现的问题的,因为后面还少一个“}”号

调整后的代码

1、 this["snow"+i].onEnterFrame=function() {

2、 if(this["snow"+i]._y<600) {

3、 ["snow"+i]._x+=(Math.sin(this["snow"+i]._y/19)*1.3)

4、 this["snow"+i]._y+=this["snow"+i].speed

5、 }

错误1:格式上,第3句,缺少this。

错误2:逻辑上错误,不影响程序运行,只是达不到效果。分析如下:

在this["snow"+i].onEnterFrame函数里的this,指的是this["snow"+i]元件本身,即onEnterFrame前面的元件,所以,函数里的this["snow"+i],其实就是 元件里的["snow"+i]属性,而属性明显是不存在的,所以达不到效果。

再者,就是函数里的i,因为i引用的是全局变量,正拿而i在第一个onEnterFrame里是变化的,所以在

this["snow"+i].onEnterFrame里的i也是变化的,故在函数里捕捉到的this["snow"+i],并非指onEnterFrame前面的元纳清型件

N是缓桐族管雪花的数轮歼量,Y是雪花下落的速度,(document.layers)?window.innerHeight:window.document.body.clientHeight是雪花下落的尺扰弊寸,可以改为=(document.layers)?window.innerHeight+100:window.document.body.clientHeight+100,下落尺寸加大100。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12316265.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存