home *** CD-ROM | disk | FTP | other *** search
- import java.awt.image.MemoryImageSource;
-
- public class SmashTransition extends BannerTransition {
- static final float FOLDS = 8.0F;
- int[] fillPixels;
- int dropAmount;
- int location;
-
- public SmashTransition() {
- super.numOfFrames = 8;
- }
-
- public void finishInit() {
- this.fillPixels = new int[super.imageWidth];
-
- for(int var1 = 0; var1 < super.imageWidth; ++var1) {
- this.fillPixels[var1] = -1;
- }
-
- this.dropAmount = super.imageHeight / super.numOfFrames * super.imageWidth;
- this.location = super.pixelsPerImage - super.imageHeight / super.numOfFrames / 2 * super.imageWidth;
-
- for(int var2 = super.numOfFrames - 1; var2 >= 0; --var2) {
- try {
- Thread.sleep(100L);
- } catch (InterruptedException var4) {
- }
-
- this.Smash(var2 + 1);
-
- try {
- Thread.sleep(150L);
- } catch (InterruptedException var3) {
- }
-
- super.frames[var2] = super.owner.createImage(new MemoryImageSource(super.imageWidth, super.imageHeight, super.workPixels, 0, super.imageWidth));
- super.owner.prepareImage(super.frames[var2], super.owner);
- this.location -= this.dropAmount;
- }
-
- super.workPixels = null;
- }
-
- void Smash(int var1) {
- System.arraycopy(super.owner.banners[super.owner.nextBanner].imagePixels, super.pixelsPerImage - this.location, super.workPixels, 0, this.location);
- int var2 = super.imageHeight - this.location / super.imageWidth;
- float var3 = (float)var1 * 8.0F / (float)var2;
- float var4 = 0.0F;
- int var5 = super.imageWidth - var1;
- float var6 = (float)super.imageHeight / (float)var2;
- float var7 = (float)super.imageHeight - var6 / 2.0F;
-
- for(int var8 = super.pixelsPerImage - super.imageWidth; var8 >= this.location; var8 -= super.imageWidth) {
- System.arraycopy(this.fillPixels, 0, super.workPixels, var8, super.imageWidth);
- System.arraycopy(super.owner.banners[super.owner.currentBanner].imagePixels, (int)var7 * super.imageWidth, super.workPixels, var8 + (int)var4, var5);
- var7 -= var6;
- var4 += var3;
- if ((double)var4 < (double)0.0F || var4 >= (float)var1) {
- var3 *= -1.0F;
- }
- }
-
- }
- }
-