主题:  flash360全景图终极版(插件式),让不会编程的人爽

rockon

职务:普通成员
等级:1
金币:0.0
发贴:16
注册:2001/3/31 22:25:24
#12001/3/31 22:28:19
今天心情好,把flash360全景图做成终极版(插件式),让不会编程的人爽一爽 ,加送超酷的LOADING动画。

打开源文件,在SENNE1的第1帧的action里输入各参数值:"l"是场景长度,"h"是场景高度,"t"可见区域顶部坐标,"b"可见区域底部坐标,"v"地平线坐标.第1帧里有图示。
并在MC(image1)里把图片换成你的就可以了。
增加的功能:锁定场景中心放大、锁定地平线放大、放大时位移加速、智能化边界漂移。

编程:ROCKON

flash5:
http://www.nettvshow.net/public/vr5.html

flash4:
http://www.nettvshow.net/public/vr4.html



绿姐 | 5D荣誉斑竹

职务:普通成员
等级:7
金币:10.0
发贴:3299
注册:2000/10/16 22:18:01
#22001/3/31 23:08:06
怎一个爽字了的



[b][#000066]◆帅的惊动国务院!◆[/#][/b]

馨竹

职务:普通成员
等级:1
金币:0.0
发贴:107
注册:2000/12/21 11:27:55
#32001/4/1 13:26:50
好酷,希望以后能多见到一些这样带说明的源程序,
让我们学得更快,做的更好。
网友们不可拿来就用,要多学习研究别人的构思和创意,让我们做的更好。

让我们用十年的时间赶上超过印度,二十年的时间超过美国。



Blackflash.Qi

职务:版主
等级:7
金币:17.0
发贴:6028
注册:2000/11/7 13:08:15
#42001/4/1 23:59:39
是个不错的东东



年轻的闪客

职务:普通成员
等级:2
金币:10.0
发贴:421
注册:2000/9/20 11:33:42
#52001/4/2 16:18:56
hehe 不错,很好玩 ;)



crystaljiang

职务:普通成员
等级:1
金币:0.0
发贴:36
注册:2000/11/28 15:37:08
#62001/4/2 17:11:32
做的不错
和director达到的效果差不多



luckybbdog

职务:普通成员
等级:1
金币:0.0
发贴:34
注册:2001/1/5 20:43:46
#72001/4/3 14:59:57
好东西!要研究研究!



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
注册:2000/9/15 13:56:49
#82001/4/3 15:02:09
...其实也就是20行代码而已...:(插件的不好的地方是没个性,自己无法修改。



年轻的闪客

职务:普通成员
等级:2
金币:10.0
发贴:421
注册:2000/9/20 11:33:42
#92001/4/4 8:58:57

难度和价值如何是另外一回事!!

网友在5D发布他们的成果,我们都感到高兴。



rockon

职务:普通成员
等级:1
金币:0.0
发贴:16
注册:2001/3/31 22:25:24
#102001/4/4 21:34:54
一共有68行代码,加上LOADING部分有88行代码。

程序解释:

设定参数值部分:

l = 500;
h = 300;
t = 50;
b = 250;
v = 220;
// "l"是场景长度,"h"是场景高度,"t"可见区域顶部坐标,"b"可见区域底部坐标,"v"地平线坐标.
m = (t+b)/2;
si = 100*(b-t)/image._height;
// si是最小缩小倍数


运动部分:

x = this._xmouse;
y = this._ymouse;
//获取鼠标坐标

scs =image._xscale/100;
//取得MC的放大倍数作为速度因子

x1 =image._x-(x-l/2)*scs/10;
//根据上一刻MC在X轴的位置和鼠标的位置来确定MC下一刻在X轴的位置,包含运动的方向和速度,

if (x1<0) {
    x1 = x1+image._width/2;
}
if (x1>image._width/2) {
    x1 = x1-image._width/2;
}
setProperty (image, _x, x1);
//使MC在X轴的运动连贯

y1 =image._y-(y-h/2)*scs/20;
//根据上一刻MC在Y轴的位置和鼠标的位置来确定MC下一刻在Y轴的位置,包含运动的方向和速度

y0 =image._height/2;
if (y1>=m+(y0-(m-t))) {
    y1 = m+(y0-(m-t));
}
if (y1<= m-(y0-(m-t))) {
    y1 = m-(y0-(m-t));
}
setProperty (image, _y, y1);
//使MC的边界始终在可见区域之外


放大部分:

sx = image._xscale*103/100;
sy = image._yscale*103/100;
//设定放大系数

x2 = image._x;
xx = x2+(x2-l/2)*3/100;
//锁定场景的中心作为X轴放大的焦点

y2 = image._y;
yy = y2+(y2-v)*3/100;
//锁定地平线作为Y轴放大的焦点

if (sx>10000) {
    sx = 10000;
    sy = 10000;
xx = x2;
    yy = y2;
}
//设定最大的放大倍数

setProperty (image, _xscale, sx);
setProperty (image, _yscale, sy);
setProperty (image, _x, xx);
setProperty (image, _y, yy);


缩小部分:

sx =image._xscale*97/100;
sy =image._yscale*97/100;
//设定缩小系数

x2 =image._x;
xx =x2+(l/2-x2)*3/100;
//锁定场景的中心作为X轴缩小的焦点

y0 =image._height/2;
y2 =image._y;
yy = y2+(v-y2)*3/100;
//锁定地平线作为Y轴缩小的焦点

if (sx    sx = si;
    sy = si;
xx = x2;
    yy = y2;
}
setProperty (image, _xscale, sx);
setProperty (image, _yscale, sy);
//当MC高度刚好等于可见区域高度时不再缩小

if (xx<0) {
    xx = xx+image._width/2;
}
if (xx>image._width/2) {
    xx = xx-image._width/2;
}
setProperty (image, _x, xx);
//使MC在X轴的连接无缝

if (yy>=m+(y0-(m-t))) {
    yy = m+(y0-(m-t));
}
if (yy<=m-(y0-(m-t))) {
    yy = m-(y0-(m-t));
}
setProperty (image, _y, yy);
//使MC的边界始终在可见区域之外



loading部分:主要用随机函数来产生动画。

if (_root.getBytesLoaded()>=_root.getBytesTotal()) {
gotoAndPlay ("Scene 1", 1);
} else {
z = int((_root.getBytesLoaded()/_root.getBytesTotal())*100);
tellTarget ("load") {
lo = /:z + "%";
}
setProperty ("load", _x, random(100)+200);
setProperty ("load", _y, random(50)+125);
setProperty ("load", _xscale, random(100)+100);
setProperty ("load", _yscale, random(100)+100);
//下载百分比

f++;
if (f >100) {
f=f-100
}
t = mbchr(f);
tellTarget ("atoz") {
font = /:t;
}
setProperty ("atoz", _x, random(300)+100);
setProperty ("atoz", _y, random(200)+50);
setProperty ("atoz", _xscale, random(1111)+100);
setProperty ("atoz", _yscale, random(1111)+100);
}
//字符动画

编辑历史:[这消息被rockon编辑过(编辑时间2001-05-12 09:33:37)]


Blackflash.Qi

职务:版主
等级:7
金币:17.0
发贴:6028
注册:2000/11/7 13:08:15
#112001/4/5 0:11:25
真是无私呀



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
注册:2000/9/15 13:56:49
#122001/4/5 1:07:17
hehe,贴出来了阿。



crystaljiang

职务:普通成员
等级:1
金币:0.0
发贴:36
注册:2000/11/28 15:37:08
#132001/4/6 16:40:58
画魔“前辈”不要只是说风凉话,你也做做这样无私的事给我们这些后来者看看啊



雪狐

职务:普通成员
等级:1
金币:1.0
发贴:196
注册:2001/5/11 0:32:55
#142001/5/11 4:11:36
不错的效果不过请大家去
www.agilestudios.com/index.php3
这个站看看老外的FLASH全景
相比较下咱们还要努力追赶啊。



rockon

职务:普通成员
等级:1
金币:0.0
发贴:16
注册:2001/3/31 22:25:24
#152001/5/12 0:17:39
我觉得我这个
http://www.nettvshow.net/public/vr5.html
比鬼子
http://www.agilestudios.com/agilevr.php3
的功能强大。

另一个
http://www.nettvshow.net/flash/vr360.html
和鬼子的持平

这个鬼子没做出来:
http://www.nettvshow.net/zipexe/vr360360.zip

其实这些都是用FLASH4做的,导入FLASH5而已。
其实我只是个画画的,不是搞编程的,编程我只能算班门弄斧,只懂AS。
更加搞笑的是现在还是在用FLASH4,还没看过FLASH5的语法。见笑了