FLASH 3D图片墙
作者&投稿:溥钞 (若有异议请与网页底部的电邮联系)
打开目录下的thumbnail_list_3.xml
修改里面的内容即可,标注如下:
//filename:是图片的名字,图片的路径限制在thumbnails文件夹内了//url:就是点击后跳转的网址//title:显示的标题,即信息的第一行。//description:显示的描述信息,即信息的第二行。
按以上标注,修改相应的信息,就会出现你想要的效果了。直接修改xml后,保存重新打开swf即可, 无需重新发布。
如果需要修改目录,则打开文件3d_curve_wall.fla,在第一帧第一个图层,打开动作面板,找到第49行,修改var folder:String = "thumbnails/";的值即可,
3DMAX
var dist2:Number = ((stage.mouseX) - 400) * 0.0001; 这句是控制滚动速度的,你把0.0001的值改小就可以了(比如0.00003)......对于这个flash:
import org.papervision3d.scenes.*;
import org.papervision3d.cameras.*;
import org.papervision3d.objects.*;
import org.papervision3d.materials.*;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.display.Sprite;
import flash.events.MouseEvent; //导入相关事件及3d引擎
var container:Sprite = new Sprite();
container.x = 400;
container.y = 420;
addChild(container);//新建及加载container
var scene:Scene3D = new MovieScene3D(container);
var cam:Camera3D = new Camera3D();
cam.zoom = 6;
tn_title.text = "";
tn_desc.text = "";
tn_url.text = "";
var p_dict:Dictionary=new Dictionary();
var pc:Plane = new Plane();
pc.visible = false;
cam.target = pc;
var numOfRotations:Number = 3;
var yPos:Number = 0;
var angle:Number = 0;
var filename_list = new Array();
var url_list = new Array();
var url_target_list:Array = new Array();
var title_list = new Array();
var description_list = new Array();
var folder:String = "thumbnails/";
var i:Number;
var j:Number = 0;
var k:Number = 0;
var l:Number = 0;
var m:Number = 0;
var total:Number;
var flashmo_xml:XML = new XML();
var loader:URLLoader = new URLLoader();
loader.load(new URLRequest("thumbnail_list_3.xml"));
loader.addEventListener(Event.COMPLETE, create_thumbnail);
//加载外部xml文档
function create_thumbnail(e:Event):void
{
flashmo_xml = XML(e.target.data);
total = flashmo_xml.thumbnail.length();
var anglePer:Number = ((Math.PI*2) * numOfRotations) / total;
for( i = 0; i < total; i++ )
{
url_list.push( flashmo_xml.thumbnail[i].@url.toString() );
url_target_list.push( flashmo_xml.thumbnail[i].@target.toString() );
title_list.push( flashmo_xml.thumbnail[i].@title.toString() );
description_list.push( flashmo_xml.thumbnail[i].@description.toString() );
var bfm:BitmapFileMaterial = new BitmapFileMaterial(
folder + flashmo_xml.thumbnail[i].@filename.toString());
bfm.oneSide = false;
bfm.smooth = true;
var p:Plane = new Plane(bfm, 140, 105, 2, 2);
scene.addChild(p);
var p_container:Sprite = p.container;
p_container.name = "flashmo_" + i;
p_dict[p_container] = p;
p_container.buttonMode = true;
p_container.addEventListener( MouseEvent.ROLL_OVER, p_rollover );
p_container.addEventListener( MouseEvent.ROLL_OUT, p_rollout );
p_container.addEventListener( MouseEvent.CLICK, p_click );
p.rotationY = (-i*anglePer) * (180/Math.PI) + 90;
p.x = Math.cos(i * anglePer) * 480;
p.z = Math.sin(i * anglePer) * 480;
p.y = yPos;
if( (i+1) % 20 == 0 )
{
yPos += 115;
}
}
}//遍历xml节点并侦听事件
function p_rollover(me:MouseEvent)
{
var sp:Sprite = me.target as Sprite;
var tw:Tween = new Tween(sp, 'alpha', Strong.easeOut, 1, 0.5, 0.6, true);
var s_no:Number = parseInt(sp.name.slice(8,10));
tn_title.text = title_list[s_no];
tn_desc.text = description_list[s_no];
tn_url.text = url_list[s_no];
}
function p_rollout(me:MouseEvent)
{
var sp:Sprite = me.target as Sprite;
var tw:Tween = new Tween(sp, 'alpha', Strong.easeOut, 0.5, 1, 0.6, true);
tn_title.text = "";
tn_desc.text = "";
tn_url.text = "";
}
function p_click(me:MouseEvent)
{
var sp:Sprite = me.target as Sprite;
var s_no:Number = parseInt(sp.name.slice(8,10));
navigateToURL(new URLRequest(url_list[s_no]), url_target_list[s_no]);
}//以上分别是鼠标的滑入、滑出及点击函数
addEventListener(Event.ENTER_FRAME, render);
function render(e:Event):void
{
var dist2:Number = ((stage.mouseX) - 400) * 0.00003;
angle += dist2;
cam.x = - Math.cos(angle) * 150;
cam.z = Math.sin(angle) * 150;
var new_zoom = 8.5 - stage.mouseY * 0.008;
cam.zoom += ( new_zoom - cam.zoom ) * 0.06;
scene.renderCamera(cam);
}
至于其他代码我也不清楚具体干什么,只有你自己好好研究一下papervision3d和as3了,网上有很多相关教程好好找找.......
这位仁兄说得对,就是将var dist2:Number = ((stage.mouseX) - 400) * 0.0001; 里的0.0001的值改小。
老咏奥泰: 点击照片墙的照片,照片放大显示,再点击又恢复照片墙.是这种效果吗?
平原县13757831028: 求教 这个flash 3d wall效果怎么做?
老咏奥泰: 新手就想学flash3D效果? 等于爬还没学会就想飞.你对as又了解多少?用as2.0就可以作出伪3D效果所以你还是先去把as学好否则你永远也只是吃别人剩下的饭而且你还不一定知道该怎么吃
平原县13757831028: flash cs3 3D图片和视频墙?
老咏奥泰: 用VideoStreamMaterial材质
平原县13757831028: 下载了一个“\超酷的3d图片墙flash+xml源”不知道怎么用啊,求高手?
老咏奥泰: 直接替换xml里面的图片应该都是外部加载的图片路径~
平原县13757831028: 求个Flash高手教我做滑动式照片墙.?
老咏奥泰: 给你个网站那个上面什么背景的都有56.com.滑动式的也有,你进了以后,选好那个背景.然后你添加你的照片.可以放几十张哦.你自己觉得可以了.就保存ok.那个好了以后你还可以把那个做你的空间背景
平原县13757831028: 请推荐一款浏览图片(幻灯片)的软件 - ?
老咏奥泰: [WonderShare.Flash相册工厂].Wondershare.Flash.Gallery.Factory.4.7.1 亲自测试,相当漂亮,模板很棒,而且自定义功能也强,关键是中文的. 可上www.verycd.com下载
平原县13757831028: 电脑Flash3D是什么软件?
老咏奥泰: 制作实时三维画面信息的工具
平原县13757831028: flash 怎么做这样的动态三维效果图 - ?
老咏奥泰: 这个是用Flash的3D引擎做出来,像Papervision 3D,away3D,这个技术很简单,关键是要找到一张全景图片,网上搜一下有源代码的
平原县13757831028: 3d里怎么添加背景 - ?
老咏奥泰: 定; 2、选图片——右键——设置图片格式——版式——衬于文字下方; 3、菜单栏——插入——文本框(插入图形框、矩形框等)——输入文字; 4、点文本框——菜单栏——格式——边框和底纹(点文本框右键进入格式也行)——颜色与线条:选“无填充颜色”和“无线条颜色”——确定; 5、移文本框于图片之上——右键——叠放次序——置于顶层; 6、按Shift,连选文本框和图片——右键——组合——组合; (以上文字就粘贴组合在图片上了)
平原县13757831028: 在flash里实现3d效果明明挺复杂的(至少比maya,3dsmax复杂,而且要用到as编程),为什么还是很多人喜欢flash制作3d效果??
老咏奥泰: LS的几位完全没有说服力. Flash做3D效果确实复杂.需要用到3D建模,以及AS编程,否则不可能达到Flash 3D效果.最根本是因为Flash原生就不支持3D.而Flash其实就是模仿3D效果(但是根据3D模型的坐标运算,所以不可能出错)....