返回列表 回复 发帖

[原创]图片效果系列之三

import mx.transitions.Tween;
import mx.transitions.easing.*;
px = new Array();
this.createEmptyMovieClip("smallMC", 0);
smallMC.setMask(s3mask);
smallMC._x = 50;
smallMC._y = 50;
var lock:Boolean;
lock = false;
var Row:Number;
//一行放多少个图片
Row = 2;
var picNum:Number;
//图片的总数
picNum = 6;
function ll(i:Number) {
_root.smallMC.createEmptyMovieClip("ss"+i, i);
_root.smallMC["ss"+i].createEmptyMovieClip("ss", i+15);
_root.smallMC["ss"+i].no = i;
//****************设置小图片的位置****************************
for (j=1; j<=Math.ceil(picNum/Row); j++) {
  for (k=1; k<=Row; k++) {
   aa = k+(j-1)*Row;
   _root.smallMC["ss"+aa]._y = 10+(j-1)*70;
   _root.smallMC["ss"+aa]._x = 7+(k-1)*72;
  }
}
//****************设置小图片的位置****************************
//***********设置小图片的点击事件*********************************                                             
//if (_root.smallMC["ss"+i].no) {
_root.smallMC["ss"+i].onRelease = function() {
  if (lock != true) {
   lb2(this.no);
  }
};
//}
_root.smallMC["ss"+i].intiX = _root.smallMC["ss"+i]._x;
_root.smallMC["ss"+i].intiY = _root.smallMC["ss"+i]._y;
_root.smallMC["ss"+i].targetscale = 20;
_root.smallMC["ss"+i].ss.attachMovie("pic"+i, "pic"+i, i);
////////用于将图片居中///////////////////////////////////
_root.smallMC["ss"+i].ss._x = -(_root.smallMC["ss"+i].ss._width/2);
_root.smallMC["ss"+i].ss._y = -(_root.smallMC["ss"+i].ss._height/2);
//////////////////////////////////////////////////////////////////////
_root.smallMC["ss"+i]._yscale = _root.smallMC["ss"+i]._xscale=20;
//*********小图片的加载进度条设置***********************************                    
//myLoader = new MovieClipLoader();
//myListener = new Object();
//myListener.onLoadProgress = function(loadTargetMC, loadedBytes, totalBytes) {
////aa = (loadedBytes/totalBytes)*100;
//};
//myListener.onLoadStart = function(loadTargetMC) {
//_root.smallMC["ss"+i].ss.stop();
//};
//myListener.onLoadComplete = function(loadTargetMC) {
//_root.smallMC["ss"+i].ss.play();
//_root.smallMC["ss"+i].ss._xscale = _root.smallMC["ss"+i].ss._yscale=3.2;
//i = i+1;
//if (i<13) {
//控制加载图片的数目
//ll(i);
//}
//};
//myLoader.addListener(myListener);
//myLoader.loadClip("imgs/pic"+i+".jpg", _root.smallMC["ss"+i].ss);
}
ll(1);
ll(2);
ll(3);
ll(4);
ll(5);
ll(6);
lb2(1);
function lb2(i:Number) {
lock = true;
////////////////no记录着当前展示图片的编号/////////////////////////////////////////
targetx = 300;
targety = 150;
///////////////////////////////////////让在展示的图片变回去按钮栏中///////////////////////////////
if (no != undefined) {
  var myTween:Tween = new Tween(_root.smallMC["ss"+no], "_xscale", mx.transitions.easing.Elastic.easeOut, 100, 20, 10, false);
  var myTween:Tween = new Tween(_root.smallMC["ss"+no], "_yscale", mx.transitions.easing.Elastic.easeOut, 100, 20, 10, false);
  var myTween:Tween = new Tween(_root.smallMC["ss"+no], "_x", mx.transitions.easing.Elastic.easeOut, targetx, intiX, 10, false);
  var myTween:Tween = new Tween(_root.smallMC["ss"+no], "_y", mx.transitions.easing.Elastic.easeOut, targety, intiY, 10, false);
}
///////////////////////////////////////让在展示中心的图片变回去按钮栏中///////////////////////////////               
////////////////////设置当前图片的初始位置(既是当前展示图片在按钮栏中的位置)/////////////////////////
if (no != i) {
  no = i;
  intiX = _root.smallMC["ss"+i]._x;
  intiY = _root.smallMC["ss"+i]._y;
}
///////////////////////////设置展示图片的透明度///////////////////////////////////                 
mytt = new Tween(_root.smallMC["ss"+i], "_alpha", Elastic.easeOut, 0, 100, 5, true);
////////////////////////////这个aa函数是用于当前图片在展示区的放在功能的///////////////
function aa() {
  var myTween:Tween = new Tween(_root.smallMC["ss"+i], "_xscale", mx.transitions.easing.Elastic.easeOut, 20, 100, 30, false);
  var myTween:Tween = new Tween(_root.smallMC["ss"+i], "_yscale", mx.transitions.easing.Elastic.easeOut, 20, 100, 30, false);
  _root.smallMC["ss"+i].onEnterFrame = function() {
   if (this._xscale == 100) {
    lock = false;
    delete this.onEnterFrame;
   }
  };
  clearInterval(ID);
}
//////////////////////设置展示图片从按钮栏往展示区移动效果//////////////////////
var myTween:Tween = new Tween(_root.smallMC["ss"+i], "_x", mx.transitions.easing.Elastic.easeOut, intiX, targetx, 10, false);
var myTween:Tween = new Tween(_root.smallMC["ss"+i], "_y", mx.transitions.easing.Elastic.easeOut, intiY, targety, 10, false);
stop();
ID = setInterval(aa, 500);
}

[[i] 本帖最后由 steamlin 于 2006-11-20 11:08 编辑 [/i]]
_O_

图片效果系列之三.fla (1.03 MB)

图片效果系列之三.swf (832.27 KB)

这个最好
这个有意思,不过能不能实现连续点击,而不用说要等到右边的图片完全显示后才能点下一张。
不错,以前有个21张的这个效果,能加以创新,可贵
您的图片效果我全收下了 谢谢分享
原帖由 八卦荣 于 2006-11-20 11:42 发表
这个有意思,不过能不能实现连续点击,而不用说要等到右边的图片完全显示后才能点下一张。
希望大家都能来改善这个效果啊.毕竟我的能力是有限了.
good
很不错,谢谢你了
不错!学学。
支持下

steamlin !!!

好厉害!! 为什么我做不出来
移动+弹性  如果这两个你都理会出来了 你就做得到
http://zszen.com/blog
楼上的不要口气太大,有时候1+1不一定等于2的,虚心学习中............
原帖由 zszen 于 2006-12-14 15:57 发表
移动+弹性  如果这两个你都理会出来了 你就做得到
或许你是说得对.
但是.我给你一幢楼的全部材料,那么你就一定能够把楼给建起来喽?
如果真是这样.我们都应该向你学习
楼猪说得没错  支持   不然就不要建筑师了
s兄弟,不错啊嗬嗬收下

另外我只是看了效果还没有看源代码,
只说效果的话小图片在返回的时候要是不使用弹簧效果,
是不是能更自然些?这只是俺的看法哈~

回复 #16 01043122 的帖子

呵呵...谢谢支持.....


回复 #17 fastso 兄第...
俺不是很喜欢给人说兄弟啦(因为俺不是男的)
至于你的建议..会采用的..谢谢你的意见.
俺看过你的网站啦。不好意思阿,犯了个这么严重的错误
抱歉,小妹~

还有,你的兴趣里面居然还有--------泡论坛,汗

回复 #19 fastso 的帖子

还是不要在这"吹水"(聊天)
小心给卡了.

回复 #1 steamlin 的帖子

zcvxcvxvx
附件挂了
附件: 图片效果系列之三.fla (2006-11-20 11:01, 1.03 M)
该附件被下载次数 115


附件: 图片效果系列之三.swf (2006-11-20 11:01, 832.27 K)
该附件被下载次数 220



打不开啊
顶!!!!!!!!!1
这个的代码好多啊,
我真有点晕啊,
代码要学多久才能达到楼主的高深的境界啊,
附件怎么没有啊?
太棒了
赞一句!
返回列表