查看: 1177|回复: 13

[转帖教程] 逼真的雪

[复制链接]

32

主题

202

帖子

0

精华

注册会员

无言的走远

Rank: 2

积分
286
QQ
金钱
318
存款
0
发表于 2010-12-17 00:01 | 显示全部楼层 |阅读模式
本帖最后由 红笑着遗忘 于 2011-3-22 19:51 编辑





雪1.jpg
雪2.jpg
雪3.jpg
宁愿笑着流泪,也不愿哭着说后悔,你来过一下子.我想念一辈子

32

主题

202

帖子

0

精华

注册会员

无言的走远

Rank: 2

积分
286
QQ
金钱
318
存款
0
 楼主| 发表于 2010-12-17 00:23 | 显示全部楼层
代码1复制下面
=====================================
var TotalSnows = 3000;
//------------------------------
var ArrSnows:Array = new Array();
var mcDraw:MovieClip = this.createEmptyMovieClip("mcDraw", 0);
var Index = 0;
var Counter = 0;
mcSnow._visible = false;
//==============================
onEnterFrame = function () {
        for (var i = 0; i<4; i++) {
                Index++;
                duplicateMovieClip("mcSnow", "mcSnow"+Index, Index);
        }
        for (var i = 0; i<ArrSnows.length; i++) {
                var Snow:MovieClip = ArrSnows[i];
                if (mcShap.hitTest(Snow._x+this._x, Snow._y+this._y, true)) {
                        DrawLine(Snow._x, Snow._y, Snow._width/3);
                        //DrawRound(Snow._x, Snow._y, Snow._width/3);
                        Snow.removeMovieClip();
                        Counter++;
                }
        }
        if (Counter>=TotalSnows) {
                Reset();
        } else if (Counter>=TotalSnows-100) {
                mcDraw._visible = true;
                mcDraw._alpha -= 2;
        } else if (Counter>=TotalSnows-200) {
                mcDraw._visible = (Counter & 20)<15;
        }
        ArrSnows.length = 0;
};
mcShap.onRelease = function() {
        Counter = TotalSnows-200;
};
function DrawLine(X, Y, r) {
        mcDraw.lineStyle(2*r, 0xFFFFFF, 90);
        mcDraw.moveTo(X-r/2, Y);
        mcDraw.lineTo(X+r/2, Y);
}
function DrawRound(X, Y, r) {
        mcDraw.beginFill(0xFFFFFF);
        mcDraw.moveTo(X, Y-r);
        mcDraw.curveTo(X+r, Y-r, X+r, Y);
        mcDraw.curveTo(X+r, Y+r, X, Y+r);
        mcDraw.curveTo(X-r, Y+r, X-r, Y);
        mcDraw.curveTo(X-r, Y-r, X, Y-r);
        mcDraw.endFill();
}
function Reset() {
        mcDraw.clear();
        mcDraw._visible = true;
        mcDraw._alpha = 100;
        Index = 0;
        Counter = 0;
}
============================================
复制等号线上面的部分
宁愿笑着流泪,也不愿哭着说后悔,你来过一下子.我想念一辈子

32

主题

202

帖子

0

精华

注册会员

无言的走远

Rank: 2

积分
286
QQ
金钱
318
存款
0
 楼主| 发表于 2010-12-17 00:25 | 显示全部楼层
代码2
也是雪花元件上的代码
============================================
var Frames = Math.random()*30+90;
var Index:Number = 0;
var SpeedH:Number = 0;
var SpeedV:Number = (Stage.height+10)/Frames;
var rootX:Number = Math.random()*(Stage.width+40)-20;
var rootY:Number = -Math.random()*10;
var Bound:Object = _parent.mcShap.getBounds(_parent);
for (var i = 1; i<=4; i++) {
        this["Test"+i] = _parent._y+Bound.yMin+Math.random()*_parent.mcShap._height;
        this["Test"+i] = Math.floor(Frames*this["Test"+i]/Stage.height);
}
this._xscale -= Math.random()*25;
this._yscale = this._xscale;
//==============================
onEnterFrame = function () {
        if (Math.random()<0.1) {
                SpeedH = Math.random()*5-2;
        }
        var pt:Object = {x:rootX += SpeedH, y:rootY += SpeedV};
        _parent.globalToLocal(pt);
        this._x = pt.x;
        this._y = pt.y;
        if ((Index == Test1) || (Index == Test2) || (Index == Test3) || (Index == Test4)) {
                _parent.ArrSnows.push(this);
        }
        if (++Index>Frames) {
                this.removeMovieClip();
        }
};
==============================================
复制等号上面的代码
宁愿笑着流泪,也不愿哭着说后悔,你来过一下子.我想念一辈子

32

主题

202

帖子

0

精华

注册会员

无言的走远

Rank: 2

积分
286
QQ
金钱
318
存款
0
 楼主| 发表于 2010-12-17 00:29 | 显示全部楼层
落雪元件上的实例名mcShap
雪花元件实例名mcSnow
宁愿笑着流泪,也不愿哭着说后悔,你来过一下子.我想念一辈子

32

主题

202

帖子

0

精华

注册会员

无言的走远

Rank: 2

积分
286
QQ
金钱
318
存款
0
 楼主| 发表于 2010-12-17 00:51 | 显示全部楼层
图中用到的图片
555555555.jpg
宁愿笑着流泪,也不愿哭着说后悔,你来过一下子.我想念一辈子

0

主题

50

帖子

0

精华

注册会员

Rank: 2

积分
50
金钱
50
存款
0
发表于 2010-12-17 12:36 | 显示全部楼层
呵呵,不错不错!!

真牛啊!!谢谢分享啊!!!

顶 顶 顶 ! !







----------------------------------------------------------------------------------------------------------
Where  there  is  a  will  there  is  a  way !  !!! ugg cardy ugg Tall ugg short ugg Mini UGG Bailey Button

0

主题

230

帖子

0

精华

注册会员

Rank: 2

积分
220
金钱
667
存款
0
发表于 2010-12-17 14:12 | 显示全部楼层
谢谢分享 可惜看不懂代码的

3

主题

994

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1011
金钱
150
存款
828
发表于 2010-12-17 19:22 | 显示全部楼层
谢谢分享啊


寻你,然后不见......

0

主题

164

帖子

0

精华

注册会员

Rank: 2

积分
157
金钱
7
存款
0
发表于 2010-12-17 19:36 | 显示全部楼层
谢谢!!

32

主题

202

帖子

0

精华

注册会员

无言的走远

Rank: 2

积分
286
QQ
金钱
318
存款
0
 楼主| 发表于 2010-12-17 20:17 | 显示全部楼层
回复 8# 静澜小语


谢谢你啊静澜小语老师
宁愿笑着流泪,也不愿哭着说后悔,你来过一下子.我想念一辈子
guest
welcomelogin
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表