📄 particles.java
字号:
/*******************************************************************************
**
** Class: Particles (Particles.java)
**
** The "Entity" class encapsulates all the data and functionality associated
** with all the different particle effects in the game
**
******************************************************************************/
// Particles header.
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
//#if Nokia_3100 || Nokia_3100_Unobfuscated
//#define PARTICLES_LOW
//#elif Nokia_3220 || Nokia_3220_Unobfuscated
//#define PARTICLES_LOW
//#endif
// the Particle class itself.
public final class Particles {
/****************************************************************************
** Constants
***************************************************************************/
public static final int FP_SHIFT = Engine.FP_SHIFT;
public static final int LAYER_FOREGROUND = 0;
public static final int LAYER_MIDGROUND = 1;
public static final int LAYER_BACKGROUND = 2;
public static final int LAYER_HUD = 3;
// particle types
public static final int TYPE_NONE = -1;
public static final int TYPE_BOUNCE_LETTER = 0;
public static final int TYPE_STRETCH_LETTER = 1;
public static final int TYPE_SHAKE_LETTER = 2;
public static final int TYPE_SLIDE_LEFT_LETTER = 3;
public static final int TYPE_SLIDE_RIGHT_LETTER = 4;
public static final int TYPE_SPIN_LETTER = 5;
public static final int TYPE_GATHER_LETTER = 6;
public static final int TYPE_TRAIL = 10;
public static final int TYPE_CURVE_TRAIL = 11;
public static final int TYPE_BIT = 12;
public static final int TYPE_CHUNK = 13;
public static final int TYPE_SPARKLE = 14;
public static final int TYPE_GOO_SPIN = 15;
public static final int TYPE_GOO = 16;
public static final int TYPE_STAR = 17;
public static final int TYPE_RING = 18;
public static final int TYPE_BUBBLE = 19;
public static final int TYPE_LEAF = 20;
public static final int TYPE_CROSS = 21;
public static final int TYPE_FIRE_LEFT_UNIT = 22;
public static final int TYPE_FIRE_RIGHT_UNIT = 23;
public static final int TYPE_TNT_UNIT = 24;
public static final int TYPE_PUFF_UNIT = 25;
public static final int TYPE_TOXIC_UNIT = 26;
public static final int TYPE_SHARD = 27;
public static final int TYPE_DEATH_PUFF_UNIT = 28;
public static final int TYPE_DEATH_PUFF_UNIT_B = 29;
public static final int TYPE_DEATH_PUFF_UNIT_C = 30;
public static final int TYPE_DEATH_CRITTER = 31;
public static final int TYPE_CLOUD_SMALL = 32;
public static final int TYPE_CLOUD_LARGE = 33;
public static final int TYPE_TONGUE_TIP = 34;
// composite effects
public static final int TYPE_CREATURE_POP = 40;
public static final int TYPE_CREATURE_PUFF = 41;
public static final int TYPE_GEM_COLLECT = 42;
public static final int TYPE_FOOD_CHAIN_TEXT = 43;
public static final int TYPE_COMBO_TEXT = 44;
public static final int TYPE_POINTS_TEXT = 45;
public static final int TYPE_LOSE_POINTS_TEXT = 46;
public static final int TYPE_TOXIC_POINTS_TEXT = 47;
public static final int TYPE_COIN_TEXT = 48;
public static final int TYPE_TOXIC_SPLAT = 49;
public static final int TYPE_FALLING_LEAF = 50;
public static final int TYPE_TOXIC_BUBBLE = 51;
public static final int TYPE_TNT_POP = 52;
public static final int TYPE_FIRE_LEFT = 53;
public static final int TYPE_FIRE_RIGHT = 54;
public static final int TYPE_ONION_BREATH = 55;
public static final int TYPE_TOXIC_HAZE = 56;
public static final int TYPE_SPECIAL_GLOW = 57;
public static final int TYPE_GEM_SHATTER = 58;
public static final int TYPE_GEM_SPARKLE = 59;
public static final int TYPE_DEATH_PUFF = 60;
public static final int TYPE_VOMIT = 61;
// text effects
public static final int TYPE_TEXT_BOUNCE = 70;
public static final int TYPE_TEXT_STRETCH = 71;
public static final int TYPE_TEXT_SHAKE = 72;
public static final int TYPE_TEXT_SLIDE_LEFT = 73;
public static final int TYPE_TEXT_SLIDE_RIGHT = 74;
public static final int TYPE_TEXT_SPIN = 75;
public static final int TYPE_TEXT_GATHER = 76;
public static final int TYPE_TEXT_DROP = 77;
public static final int EMITTER_TYPE = 90;
public static final int EMITTER_FIRE_LEFT = 91;
public static final int EMITTER_FIRE_RIGHT = 92;
public static final int TEXT_LIFE = 16;
public static final int TEXT_SPIN_TIME = 8;
public static final int LEAF_LIFE = 100;
public static final int GOO_LIFE_MIN = 6;
public static final int GOO_LIFE_MAX = 12;
public static final int PUFF_LIFE_MIN = 4;
public static final int PUFF_LIFE_MAX = 10;
public static final int TOXIC_BUBBLE_LIFE = 4;
public static final int CROSS_LIFE = 4;
public static final int RING_BIG_LIFE = 7;
public static final int RING_SMALL_LIFE = 4;
public static final int STAR_LIFE_MIN = 6;
public static final int STAR_LIFE_MAX = 10;
public static final int SPARKLE_LIFE = 5;
public static final int FIRE_UNIT_LIFE = 5;
public static final int TNT_LIFE = 4;
public static final int TNT_CHUNK_LIFE_MIN = 4;
public static final int TNT_CHUNK_LIFE_MAX = 8;
public static final int DEATH_CRITTER_LIFE = 8;
public static final int DEATH_PUFF_LIFE = 6;
public static final int TNT_PUFF_RGB_1 = 0x666666;
public static final int TNT_PUFF_RGB_2 = 0x888888;
public static final int TNT_CHUNK_RGB_1 = 0xeda54c;
public static final int TNT_CHUNK_RGB_2 = 0x333333;
public static final int TNT_UNIT_RGB_1 = 0xe36432;
public static final int TNT_UNIT_RGB_2 = 0xeda54c;
public static final int TNT_UNIT_RGB_3 = 0xfaefc3;
public static final int SPARKLE_RGB_1 = 0xffff33;
public static final int SPARKLE_RGB_2 = 0xffff80;
public static final int SPARKLE_RGB_3 = 0xf5f590;
public static final int ONION_PUFF_RGB_1 = 0xffff88;
public static final int ONION_PUFF_RGB_2 = 0xeeee44;
public static final int BOUNCE_LETTER_RGB_1 = 0xff6600;
public static final int BOUNCE_LETTER_RGB_2 = 0xff8800;
public static final int BOUNCE_LETTER_RGB_3 = 0xffdd00;
public static final int STRETCH_LETTER_RGB_1 = 0xecff88;//0xd8ff89;
public static final int STRETCH_LETTER_RGB_2 = 0x2fdcd7;//0x73c807;
public static final int STRETCH_LETTER_RGB_3 = 0xecff88;//0xd8ff89;
public static final int SHAKE_LETTER_RGB_1 = 0xff0000;
public static final int SHAKE_LETTER_RGB_2 = 0xff0000;
public static final int SLIDE_LETTER_RGB_1 = 0xefffe3;//0xffffff;
public static final int SLIDE_LETTER_RGB_2 = 0xd5f77b;//0x8888ff;
public static final int SLIDE_LETTER_RGB_3 = 0xd5f77b;//0xa4ff20;
public static final int SPIN_LETTER_RGB_1 = 0xffffa4;//0xffffff;
public static final int SPIN_LETTER_RGB_2 = 0xff91a4;//0x8888ff;
public static final int DEATH_PUFF_RGB_1 = 0xcecece;
public static final int DEATH_PUFF_RGB_2 = 0xe8e1d9;
public static final int DEATH_PUFF_RGB_3 = 0xebebeb;
public static final int HIGHLIGHT_RGB = 0xffffff;
public static final int LEAF_RGB_1 = 0x417033;
public static final int LEAF_RGB_2 = 0x8d9c45;
public static final int TONGUE_TIP_DARK_RGB = 0xbe4842;
public static final int TONGUE_TIP_MID_RGB = 0xeb5656;
public static final int TONGUE_TIP_LIGHT_RGB = 0xf48a8a;
//#if DefaultConfiguration || Nokia_6600 || Nokia_6600_Unobfuscated || Razr
// large screen size
public static final int TEXT_BOUNCE_Y_SPEED_FP = (-12)<<FP_SHIFT;
public static final int TEXT_BOUNCE_Y_FORCE_FP = (4)<<FP_SHIFT;
public static final int GOO_X_SPEED_FP = (14)<<FP_SHIFT;
public static final int GOO_Y_SPEED_FP = (7)<<FP_SHIFT;
public static final int TOXIC_GOO_X_SPEED_FP = (8)<<FP_SHIFT;
public static final int TOXIC_GOO_Y_SPEED_FP = (10)<<FP_SHIFT;
public static final int TOXIC_BUBBLE_SPREAD_FP = (10)<<FP_SHIFT;
public static final int STAR_SPEED_FP = (3)<<FP_SHIFT;
public static final int RING_SPEED_FP = (6)<<FP_SHIFT;
public static final int GEM_RING_SPEED_FP = (8)<<FP_SHIFT;
public static final int PUFF_SPEED_FP = (5)<<FP_SHIFT;
public static final int PUFF_Y_FORCE_FP = ((-1)<<FP_SHIFT) >>2;
public static final int GEM_SPEED_FP = (4)<<FP_SHIFT;
public static final int TNT_SPREAD_X_FP = (10)<<FP_SHIFT;
public static final int TNT_SPREAD_Y_FP = (10)<<FP_SHIFT;
public static final int TNT_CHUNK_SPEED_FP = (10)<<FP_SHIFT;
public static final int VOMIT_SPREAD_FP = (4)<<FP_SHIFT;
public static final int TOXIC_HAZE_FRAMES = 5;
public static final int TONGUE_TIP_RADIUS = 4;
//#else
//# // small screen size
//# public static final int TEXT_BOUNCE_Y_SPEED_FP = (-12)<<FP_SHIFT;
//# public static final int TEXT_BOUNCE_Y_FORCE_FP = (4)<<FP_SHIFT;
//# public static final int GOO_X_SPEED_FP = (10)<<FP_SHIFT;
//# public static final int GOO_Y_SPEED_FP = (5)<<FP_SHIFT;
//# public static final int TOXIC_GOO_X_SPEED_FP = (6)<<FP_SHIFT;
//# public static final int TOXIC_GOO_Y_SPEED_FP = (8)<<FP_SHIFT;
//# public static final int TOXIC_BUBBLE_SPREAD_FP = (6)<<FP_SHIFT;
//# public static final int STAR_SPEED_FP = (2)<<FP_SHIFT;
//# public static final int RING_SPEED_FP = (4)<<FP_SHIFT;
//# public static final int GEM_RING_SPEED_FP = (6)<<FP_SHIFT;
//# public static final int PUFF_SPEED_FP = (3)<<FP_SHIFT;
//# public static final int PUFF_Y_FORCE_FP = ((-1)<<FP_SHIFT) >>3;
//# public static final int GEM_SPEED_FP = (3)<<FP_SHIFT;
//# public static final int TNT_SPREAD_X_FP = (8)<<FP_SHIFT;
//# public static final int TNT_SPREAD_Y_FP = (8)<<FP_SHIFT;
//# public static final int TNT_CHUNK_SPEED_FP = (8)<<FP_SHIFT;
//# public static final int TOXIC_HAZE_FRAMES = 5;
//# public static final int TONGUE_TIP_RADIUS = 3;
//#endif
//#ifdef PARTICLES_MID
//# public static final int MAX_PARTICLES = 64;
//# public static final int GOO_DENSITY = 6;
//# public static final int TOXIC_DENSITY = 6;
//# public static final int GEM_DENSITY = 6;
//# public static final int TNT_DENSITY = 6;
//# public static final int STAR_DENSITY = 2;
//# public static final int PUFF_DENSITY = 4;
//# public static final int TNT_PUFF_DENSITY = 3;
//# public static final int ONION_DENSITY = 12;
//#
//# public static final int MAX_PUFF_SIZE = 4;
//# public static final int MIN_SHARD_SIZE = 3;
//# public static final int CROSS_LENGTH = 3;
//# public static final int DEATH_PUFF_MIN_SIZE = 8;
//# public static final int DEATH_PUFF_MAX_SIZE = 10;
//# public static final int EFFECTS_FONT = Engine.CUSTOM_FONT_BIG;
//# public static final int EFFECTS_FONT_SPACING = Engine.CUSTOM_FONT_BIG_H_SPACING;
//#
//#elif PARTICLES_LOW
//# public static final int MAX_PARTICLES = 32;
//# public static final int GOO_DENSITY = 3;
//# public static final int TOXIC_DENSITY = 3;
//# public static final int GEM_DENSITY = 4;
//# public static final int TNT_DENSITY = 4;
//# public static final int STAR_DENSITY = 0;
//# public static final int PUFF_DENSITY = 1;
//# public static final int TNT_PUFF_DENSITY = 0;
//# public static final int ONION_DENSITY = 8;
//#
//# public static final int MAX_PUFF_SIZE = 3;
//# public static final int MIN_SHARD_SIZE = 3;
//# public static final int CROSS_LENGTH = 3;
//# public static final int DEATH_PUFF_MIN_SIZE = 8;
//# public static final int DEATH_PUFF_MAX_SIZE = 10;
//# public static final int EFFECTS_FONT = Engine.CUSTOM_FONT_NORMAL;
//# public static final int EFFECTS_FONT_SPACING = Engine.CUSTOM_FONT_H_SPACING;
//#else
public static final int MAX_PARTICLES = 64;
public static final int GOO_DENSITY = 10;
public static final int TOXIC_DENSITY = 12;
public static final int GEM_DENSITY = 8;
public static final int TNT_DENSITY = 7;
public static final int STAR_DENSITY = 2;
public static final int PUFF_DENSITY = 5;
public static final int TNT_PUFF_DENSITY = 3;
public static final int ONION_DENSITY = 16;
public static final int MAX_PUFF_SIZE = 6;
public static final int MIN_SHARD_SIZE = 4;
public static final int CROSS_LENGTH = 4;
public static final int DEATH_PUFF_MIN_SIZE = 8;
public static final int DEATH_PUFF_MAX_SIZE = 12;
public static final int EFFECTS_FONT = Engine.CUSTOM_FONT_BIG;
public static final int EFFECTS_FONT_SPACING = Engine.CUSTOM_FONT_BIG_H_SPACING;
//#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -