返回列表 发帖
Originally posted by 风中落叶 at 2005-10-16 11:27:
期待ing………………………………:P

有没有做出来啊?
欢迎光临我的个人空间:★四维空间★

TOP

期待ing………………………………:P
从小就牛B

TOP

基本上把所有代码复制到Flash里面就可以了,执行速度还是很快的。

下次发一些稍微复杂点的应用。
欢迎光临我的个人空间:★四维空间★

TOP

影片的数据处理数据

  1. _root.onEnterFrame = function() {
  2.         for (var i = 0; i<25; i++) {
  3.                 with (a[i].pos) {
  4.                         x += speed;
  5.                         y += (_root._xmouse-200)/50;
  6.                         z -= (_root._ymouse-200)/50;
  7.                 }
  8.                                 //雪花的移动跟随鼠标偏移
  9.                 if (a[i].pos.x>d-200) {
  10.                         a[i] = new Snow(-2000, random(q)-w, random(q)-w, i);
  11.                 }
  12.                                 //如果雪花超出范围则重新刷新位置
  13.                 a[i].update(d);
  14.                                //雪花的位置更新
  15.         }
  16.         _root.sp = "Speed="+speed;
  17.                 这个是在舞台上建立一个文本框来显示即时速度
  18. };
复制代码
欢迎光临我的个人空间:★四维空间★

TOP

对影片的初始化:

  1. _root.onLoad = function() {
  2.         for (var i = 0; i<25; i++) {
  3.                 a[i] = new Snow(random(4000)-2000, random(q)-w, random(q)-w, i);
  4.                 a[i].update(d);
  5.         }
  6.                 //复制25个雪花到数组,并且位置随机
  7.         mym = new Object();
  8.         mym.onMouseWheel = function(delta) {
  9.                 if (speed<50) {
  10.                         speed = 50;
  11.                 } else if (speed>500) {
  12.                         speed = 500;
  13.                 } else {
  14.                         _root.speed += delta*5;
  15.                 }
  16.         };
  17.         Mouse.addListener(mym);
  18.                 //建立一个监听鼠标滚轮事件的监听器。
  19. };
复制代码
欢迎光临我的个人空间:★四维空间★

TOP

一个雪花的方法

  1. // 刷新位置
  2. Snow.prototype.update = function(d) {
  3.         var b = (this.pos.x+d)/20;
  4.         var v2 = this.pos.v3dtov2d(d);
  5.         this.mc.setXY(v2, true);
  6.         with (this.mc) {
  7.                 _xscale = _yscale=(b+20+this.scale)/3;
  8.         }
  9. };
复制代码
欢迎光临我的个人空间:★四维空间★

TOP

建立一个雪花的类

  1. // Snow类的构造函数
  2. _global.Snow = function(x, y, z, n) {
  3.         this.scale = random(80)+20;
  4.         this.pos = new v3d(x, y, z);
  5.         this.mc = _root.attachMovie("snow", "snow"+n, n);
  6. };
复制代码
欢迎光临我的个人空间:★四维空间★

TOP

再设置一些基本变量:

d是观察距离
a是存储雪花的数组
i是循环变量
q是雪花数量
w是雪花在空间的空间限制,不超过正负q/2
speed 就是雪花移动的速度,可以由鼠标滚轮控制

  1. var d:Number = new Number(2000);
  2. var a:Array = new Array();
  3. var i:Number = new Number(0);
  4. var q:Number = new Number(200);
  5. var w:Number = new Number(q/2);
  6. var speed:Number = new Number(150);
复制代码
欢迎光临我的个人空间:★四维空间★

TOP

然后在第一帧输入如下代码:

引用我们编写的三维类,设置舞台不缩放。

  1. #include "Vector3D.as"
  2. Stage.scaleMode = "noScale";
复制代码
欢迎光临我的个人空间:★四维空间★

TOP

首先,建立一个电影剪辑。画一个白色的实心圆,半径4.5,圆心0,0

并且连接导出为snow

效果如下:

警告.JPG (26.35 KB)

警告.JPG

欢迎光临我的个人空间:★四维空间★

TOP

返回列表