home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2003 March / DPPCPRO0303.ISO / Netfusion / data1.cab / Components / AdBanner / SmashTransition.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-12-10  |  1.8 KB  |  65 lines

  1. import java.awt.image.MemoryImageSource;
  2.  
  3. public class SmashTransition extends BannerTransition {
  4.    static final float FOLDS = 8.0F;
  5.    int[] fillPixels;
  6.    int dropAmount;
  7.    int location;
  8.  
  9.    public SmashTransition() {
  10.       super.numOfFrames = 8;
  11.    }
  12.  
  13.    public void finishInit() {
  14.       this.fillPixels = new int[super.imageWidth];
  15.  
  16.       for(int var1 = 0; var1 < super.imageWidth; ++var1) {
  17.          this.fillPixels[var1] = -1;
  18.       }
  19.  
  20.       this.dropAmount = super.imageHeight / super.numOfFrames * super.imageWidth;
  21.       this.location = super.pixelsPerImage - super.imageHeight / super.numOfFrames / 2 * super.imageWidth;
  22.  
  23.       for(int var2 = super.numOfFrames - 1; var2 >= 0; --var2) {
  24.          try {
  25.             Thread.sleep(100L);
  26.          } catch (InterruptedException var4) {
  27.          }
  28.  
  29.          this.Smash(var2 + 1);
  30.  
  31.          try {
  32.             Thread.sleep(150L);
  33.          } catch (InterruptedException var3) {
  34.          }
  35.  
  36.          super.frames[var2] = super.owner.createImage(new MemoryImageSource(super.imageWidth, super.imageHeight, super.workPixels, 0, super.imageWidth));
  37.          super.owner.prepareImage(super.frames[var2], super.owner);
  38.          this.location -= this.dropAmount;
  39.       }
  40.  
  41.       super.workPixels = null;
  42.    }
  43.  
  44.    void Smash(int var1) {
  45.       System.arraycopy(super.owner.banners[super.owner.nextBanner].imagePixels, super.pixelsPerImage - this.location, super.workPixels, 0, this.location);
  46.       int var2 = super.imageHeight - this.location / super.imageWidth;
  47.       float var3 = (float)var1 * 8.0F / (float)var2;
  48.       float var4 = 0.0F;
  49.       int var5 = super.imageWidth - var1;
  50.       float var6 = (float)super.imageHeight / (float)var2;
  51.       float var7 = (float)super.imageHeight - var6 / 2.0F;
  52.  
  53.       for(int var8 = super.pixelsPerImage - super.imageWidth; var8 >= this.location; var8 -= super.imageWidth) {
  54.          System.arraycopy(this.fillPixels, 0, super.workPixels, var8, super.imageWidth);
  55.          System.arraycopy(super.owner.banners[super.owner.currentBanner].imagePixels, (int)var7 * super.imageWidth, super.workPixels, var8 + (int)var4, var5);
  56.          var7 -= var6;
  57.          var4 += var3;
  58.          if ((double)var4 < (double)0.0F || var4 >= (float)var1) {
  59.             var3 *= -1.0F;
  60.          }
  61.       }
  62.  
  63.    }
  64. }
  65.