代码不全
Interpolate这些函数都是自定义函数

解决方案 »

  1.   

    一般的做法,只能显示两张图片,因为Wipe擦洗技术限制只能两张图片间切换花。 但可以通过将两张图片转为动画交替显示<script> 
    var i=0,pictures=new Array();//设置图片数组,图片数为奇数 
    var picbase=""; 
    pictures[i++]="1.gif" 
    pictures[i++]="2.gif" 
    pictures[i++]="3.gif" 
    pictures[i++]="4.gif" 
    pictures[i++]="5.gif" 
    pictures[i++]="6.gif" 
    pictures[i++]="7.gif" 
    pictures[i++]="8.gif" 
    pictures[i++]="9.gif" 
    pictures[i++]="10.gif" 
    pictures[i++]="11.gif" 
    pictures[i++]="12.gif" 
    pictures[i++]="13.gif" 
    pictures[i++]="14.gif" 
    pictures[i++]="15.gif" 
    pictures[i++]="16.gif" 
    pictures[i++]="17.gif" 
    pictures[i++]="18.gif" 
    pictures[i++]="19.gif" 
    pictures[i++]="20.gif" 
    pictures[i++]="21.gif" 
    pictures[i++]="22.gif" 
    var picturewidth=400//图片宽度 
    var pictureheight=290//图片高度 
    var delay=1//延迟时间 
    </script> 
    <script> 
    if (document.all) { 
    document.write('<OBJECT ID="DAControl_Wipe" ') 
    document.write('STYLE="width:'+picturewidth+';height:'+pictureheight+'"') 
    document.write('CLASSID="CLSID:B6FFC24C-7E13-11D0-9B47-00C04FC2F51D">') 
    document.write('</OBJECT>') 
    m = DAControl_Wipe.MeterLibrary; whatTransformation = new ActiveXObject("DXImageTransform.Microsoft.Wipe"); 
    whatTransformation.GradientSize = 1.0;//设置渐变度 
    whatTransformation.WipeStyle = 0;//设置擦洗类型 var myArr=new Array(),myArr2=new Array(); 
    var len=Math.floor(pictures.length/2);//将图片分成两组 
    for(var i=0;i<len;i++){ 
    myArr[i]=m.ImportImage(picbase+pictures[2*i]) 
    myArr2[i]=m.ImportImage(picbase+pictures[2*i+1]) 

    if(pictures[2*i]) 
    myArr[i]=m.ImportImage(picbase+pictures[2*i]) 
    else 
    myArr[i]=m.ImportImage(picbase+pictures[0]) ; 
    myArr=m.Array(myArr) 
    myArr2=m.Array(myArr2) 
    Index = m.Interpolate(0.5,len+0.5,len*2*delay).RepeatForever(); 
    Index2 = m.Interpolate(0,len,len*2*delay).RepeatForever(); 
    //交错运行半个时间单元 
    var whatPictures=new Array(); 
    whatPictures[0] = myArr.NthAnim(Index); 
    whatPictures[1] = myArr2.NthAnim(Index2); forward = m.Interpolate(0, 1, delay); 
    back = m.Interpolate(1, 0, delay); 
    whatMovement = m.Sequence(forward, back).RepeatForever(); 
    //设置参数方向 theResult = m.ApplyDXTransform( whatTransformation, whatPictures, whatMovement ); 
    DAControl_Wipe.Image = theResult.OutputBvr;//设置显示图形 
    DAControl_Wipe.Start();//开始 

    </script>使用的技巧区别于以往的主要在将图片交替转为两个数组,利用内部计数Interpolate和NthAnim技术实现动画。