
方法如下:首先找一个静态页,可以实现图片墙(比如你这个页面,直接用火狐浏览器ctrl+S保存下来)
然后在织梦里调好CSS和JS的地址以后,把这个模板当做一个list的模板,使用{dede:list}这个标签把图片调出来即可。
但织梦有个缺陷,那就是循环里面css的class名字必须一致,或者必须有规律。
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 = 0i <totali++ )
{
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了,网上有很多相关教程好好找找.......
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)