FLASH+XML加载图片并分页显示的问题
时间:2011-02-12
来源:互联网
需要做一个flash+xml的图片展示,高手能不能帮忙看看怎么样可以实现鼠标移到小图上能显示大图
flash as源码如下
var pageShowNum:Number = 10; //每页显示图片数量
var page_row:Number = 5; //每行显示个数
var x_space:Number = 180; //设定列间距
var y_space:Number = 200; //设定行间距
var x_begin:Number = 80; //设定mc循环的起始位置,对应第一个mc的x坐标
var y_begin:Number = 100; //设定mc循环的起始位置,对应第一个mc的y坐标
var showpicwidth:Number = 108; //图片显示长度
var showpicheight:Number = 142; //图片显示高度
//定义变量
var zero_X:Number = x_begin;
var zero_Y:Number = y_begin;
var currentPageNum = 1; //当前页数
var arrImgList:Array = new Array();
//显示图片列表
function ShowImgList(){
if(arrImgList.length>0){
for(var i=0;i<pageShowNum;i++){
if(i<arrImgList.length-(currentPageNum-1)*pageShowNum){
attachMovie("picPane","x"+i,i);
zero = eval("x"+i);
zero._x = zero_X;
zero._y = zero_Y;
zero_X += x_space;
if(((i+1)%page_row) == 0){
zero_X = x_begin;
zero_Y += y_space;
}
//加载产品图片并设置显示大小
var my_mc = new MovieClipLoader();
myListener = new Object();
myListener.onLoadInit = function(target_mc){
target_mc.removeListener(myListener);
var target_mc_x = 5;//图片的相对位移x
var target_mc_y = 4;//图片的相对位移y
picwidth = getProperty(target_mc,_width);
picheight= getProperty(target_mc,_height);
var k1=showpicwidth/picwidth;
var k2=showpicheight/picheight;
var k=1;
if(k1<1||k2<1){
k1<k2?k=k1:k=k2;
}else{
k=1;
}
target_mc._xscale=target_mc._yscale=k*100;
target_mc._x = (showpicwidth-target_mc._width)/ 2+target_mc_x;
target_mc._y = (showpicheight-target_mc._height)/ 2+target_mc_y;
}
my_mc.addListener(myListener);
my_mc.loadClip(arrImgList[(currentPageNum-1)*pageShowNum+i].attributes.src,zero.pic_mc);
zero.txtImgName = arrImgList[(currentPageNum-1)*pageShowNum+i].attributes.name; //图片名称
zero.onRelease = zeroRelease; //单击事件
}
}
CheckButtonVisible();
}
}
//单击图片事件
function zeroRelease(){
trace("你当前点击的是;"+this.txtImgName);
//这里你可以加载其它事件
}
//删除原有的mc
function RemoveOldMC(){
for(var i=0;i<pageShowNum;i++){
removeMovieClip("x"+i);
}
//重新获取初始坐标
zero_X = x_begin;
zero_Y = y_begin;
}
//检测翻页按钮的合法性
function CheckButtonVisible(){
if(arrImgList.length <= pageShowNum){
btn_prev._visible = false;
btn_next._visible = false;
}else{
if(currentPageNum==1){ //首页
btn_prev._visible = false;
btn_next._visible = true;
}
if(currentPageNum == Math.ceil(arrImgList.length/pageShowNum)){ //尾页
btn_prev._visible = true;
btn_next._visible = false;
}
}
}
//上一页按钮事件
btn_prev.onPress = function(){
RemoveOldMC();
currentPageNum--;
ShowImgList();
}
//下一页按钮事件
btn_next.onPress = function(){
RemoveOldMC();
currentPageNum++;
ShowImgList();
}
//加载图片XML
function LoadMagazineListXML(){
var magazine_xml:XML = new XML();
magazine_xml.ignoreWhite = true;
magazine_xml.onLoad = function(success){
if(success){
for(var i=0;i<magazine_xml.firstChild.childNodes.length;i++){
arrImgList.push(magazine_xml.firstChild.childNodes[i]);
}
ShowImgList();
}else{
trace("加载图片列表失败!");
}
}
magazine_xml.load("ImageList.xml");
}
LoadMagazineListXML();
xml原码如下:
<?xml version="1.0"?>
<root>
<img src="images/1.jpg" name="图片1"></img>
<img src="images/2.jpg" name="图片2"></img>
<img src="images/3.jpg" name="图片3"></img>
<img src="images/4.jpg" name="图片4"></img>
<img src="images/5.jpg" name="图片5"></img>
<img src="images/6.jpg" name="图片6"></img>
<img src="images/7.jpg" name="图片7"></img>
<img src="images/8.jpg" name="图片8"></img>
<img src="images/9.jpg" name="图片9"></img>
<img src="images/10.jpg" name="图片10"></img>
<img src="images/11.jpg" name="图片11"></img>
<img src="images/12.jpg" name="图片12"></img>
</root>
源码:http://www.youxianwuxian.com/123.rar
flash as源码如下
var pageShowNum:Number = 10; //每页显示图片数量
var page_row:Number = 5; //每行显示个数
var x_space:Number = 180; //设定列间距
var y_space:Number = 200; //设定行间距
var x_begin:Number = 80; //设定mc循环的起始位置,对应第一个mc的x坐标
var y_begin:Number = 100; //设定mc循环的起始位置,对应第一个mc的y坐标
var showpicwidth:Number = 108; //图片显示长度
var showpicheight:Number = 142; //图片显示高度
//定义变量
var zero_X:Number = x_begin;
var zero_Y:Number = y_begin;
var currentPageNum = 1; //当前页数
var arrImgList:Array = new Array();
//显示图片列表
function ShowImgList(){
if(arrImgList.length>0){
for(var i=0;i<pageShowNum;i++){
if(i<arrImgList.length-(currentPageNum-1)*pageShowNum){
attachMovie("picPane","x"+i,i);
zero = eval("x"+i);
zero._x = zero_X;
zero._y = zero_Y;
zero_X += x_space;
if(((i+1)%page_row) == 0){
zero_X = x_begin;
zero_Y += y_space;
}
//加载产品图片并设置显示大小
var my_mc = new MovieClipLoader();
myListener = new Object();
myListener.onLoadInit = function(target_mc){
target_mc.removeListener(myListener);
var target_mc_x = 5;//图片的相对位移x
var target_mc_y = 4;//图片的相对位移y
picwidth = getProperty(target_mc,_width);
picheight= getProperty(target_mc,_height);
var k1=showpicwidth/picwidth;
var k2=showpicheight/picheight;
var k=1;
if(k1<1||k2<1){
k1<k2?k=k1:k=k2;
}else{
k=1;
}
target_mc._xscale=target_mc._yscale=k*100;
target_mc._x = (showpicwidth-target_mc._width)/ 2+target_mc_x;
target_mc._y = (showpicheight-target_mc._height)/ 2+target_mc_y;
}
my_mc.addListener(myListener);
my_mc.loadClip(arrImgList[(currentPageNum-1)*pageShowNum+i].attributes.src,zero.pic_mc);
zero.txtImgName = arrImgList[(currentPageNum-1)*pageShowNum+i].attributes.name; //图片名称
zero.onRelease = zeroRelease; //单击事件
}
}
CheckButtonVisible();
}
}
//单击图片事件
function zeroRelease(){
trace("你当前点击的是;"+this.txtImgName);
//这里你可以加载其它事件
}
//删除原有的mc
function RemoveOldMC(){
for(var i=0;i<pageShowNum;i++){
removeMovieClip("x"+i);
}
//重新获取初始坐标
zero_X = x_begin;
zero_Y = y_begin;
}
//检测翻页按钮的合法性
function CheckButtonVisible(){
if(arrImgList.length <= pageShowNum){
btn_prev._visible = false;
btn_next._visible = false;
}else{
if(currentPageNum==1){ //首页
btn_prev._visible = false;
btn_next._visible = true;
}
if(currentPageNum == Math.ceil(arrImgList.length/pageShowNum)){ //尾页
btn_prev._visible = true;
btn_next._visible = false;
}
}
}
//上一页按钮事件
btn_prev.onPress = function(){
RemoveOldMC();
currentPageNum--;
ShowImgList();
}
//下一页按钮事件
btn_next.onPress = function(){
RemoveOldMC();
currentPageNum++;
ShowImgList();
}
//加载图片XML
function LoadMagazineListXML(){
var magazine_xml:XML = new XML();
magazine_xml.ignoreWhite = true;
magazine_xml.onLoad = function(success){
if(success){
for(var i=0;i<magazine_xml.firstChild.childNodes.length;i++){
arrImgList.push(magazine_xml.firstChild.childNodes[i]);
}
ShowImgList();
}else{
trace("加载图片列表失败!");
}
}
magazine_xml.load("ImageList.xml");
}
LoadMagazineListXML();
xml原码如下:
<?xml version="1.0"?>
<root>
<img src="images/1.jpg" name="图片1"></img>
<img src="images/2.jpg" name="图片2"></img>
<img src="images/3.jpg" name="图片3"></img>
<img src="images/4.jpg" name="图片4"></img>
<img src="images/5.jpg" name="图片5"></img>
<img src="images/6.jpg" name="图片6"></img>
<img src="images/7.jpg" name="图片7"></img>
<img src="images/8.jpg" name="图片8"></img>
<img src="images/9.jpg" name="图片9"></img>
<img src="images/10.jpg" name="图片10"></img>
<img src="images/11.jpg" name="图片11"></img>
<img src="images/12.jpg" name="图片12"></img>
</root>
源码:http://www.youxianwuxian.com/123.rar
作者: changjiecj 发布时间: 2011-02-12
XML中添加一个属性记录大图路径
然后在onRollOver时显示到大图容器中
然后在onRollOver时显示到大图容器中
作者: flash023 发布时间: 2011-02-12
flash我一窍不通,请版主说清楚点谢谢
作者: changjiecj 发布时间: 2011-02-12

其实我已经猜到楼主会这样说
如果需要上门服务,修改完之后送货上门
可以耐心等待,对此有兴趣,有时间,无义务的朋友修改后上传,楼主仅需耐心。
也可以上供求区请人。
作者: flash023 发布时间: 2011-02-12
贴了一大段代码,问的问题却跟贴出的代码没太大关系。
。。。
我也猜到了。
。。。
我也猜到了。
作者: cjyyj 发布时间: 2011-02-12
...........
作者: HBrO 发布时间: 2011-02-12
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28