⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 engine.java

📁 Critter_Crunch_J2ME 游戏源
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
   public static final int      Y                    = 1;                      // y-base of image, top side.
   public static final int      WIDTH                = 2;                      // width of sprite.
   public static final int      HEIGHT               = 3;                      // height of sprite.
   public static final int      IMAGE_ID             = 0;                      // index of image id.
   public static final int      IMAGE_X_OFFSET       = 1;                      // index of an image's x offset.
   public static final int      IMAGE_Y_OFFSET       = 2;                      // index of an image's y offset.
   public static final int      IMAGE_INDECES        = 3;                      // index-count of images.
   public static final int      TOP_LEFT             = Graphics.TOP |
      Graphics.LEFT;          // top-left anchor.
   public static       short    MAX_SHAKE;                                     // maximum shake for any component.
   //#ifndef NO_SCREEN_SHAKING
   public static final int      UNIFORM_SHAKE        = 2;                      // bool value index that indicates whether shakes are uniform.
   public static final int      SHAKE_TIME           = 3;                      // amount of time that the shake is turned on for.
   public static final int      SHAKE_SCREEN         = 0;                      // index of shake magnitude for the entire screen.
   public static final int      SHAKE_BIGGS          = 1;                      // index of shake magnitude for Biggs.
   public static final int      SHAKE_CRITTERS       = 2;                      // index of shake magnitude for all Critter.
   public static final int      SHAKE_BOSSES         = 3;                      // index of shake magnitude for all bosses.
   public static final int      SHAKE_BGS            = 4;                      // index of shake magnitude for level backgrounds/foregrounds.
   public static final int      SHAKE_HUD            = 5;                      // index of shake magnitude for game HUD.
   public static final int      SHAKE_W              = 6;                      // width of shake array.
   public static final int      SHAKE_H              = 4;                      // size of shake array.
   public static final int [][] S_SHAKES             = new int[SHAKE_H]
                                                              [SHAKE_W];       // array of all shake magnitudes.
   //#endif
   public static final Image [] S_IMAGES             = new Image[IMAGE_COUNT]; // array of all Image objects.
   public static final int      ASSETS_IMAGES        = IMAGE_BG_TITLE;         // assets count for up-to images.
   public static final int      ASSETS_ANIMS         = ASSETS_IMAGES + 0;      // animations data file.
   public static final int      ASSETS_ADVENTURES    = ASSETS_IMAGES + 1;      // adventure levels data file.
   public static final int      ASSETS_PUZZLES       = ASSETS_IMAGES + 2;      // puzzle levels data file.
   public static final int      ASSETS_TIMETRIALS    = ASSETS_IMAGES + 3;      // puzzle levels data file.
   public static final int      ASSETS_TUTORIALS     = ASSETS_IMAGES + 4;      // tutorial levels data file.
   public static final int      ASSETS_LOCALE        = ASSETS_IMAGES + 5;      // locale data file.
   //#if DefaultConfiguration || Nokia_6600 || Nokia_6600_Unobfuscated || Nokia_3220 || Nokia_3220_Unobfuscated || Razr
//   public static final int      ASSETS_TOTAL         = ASSETS_IMAGES + 6;      // total number of assets to load at startup.
   //#else
   public static final int      ASSETS_SOUNDS        = ASSETS_IMAGES + 6;      // total number of assets to load at startup.
   public static final int      ASSETS_TOTAL         = ASSETS_IMAGES + 7;      // total number of assets to load at startup.
   //#endif
   public static       int      LOADING_BAR_WIDTH;                             // width of main loading bar.
   public static       int      LOADING_BAR_HEIGHT;                            // height of main loading bar.
   public static       int      LOADING_BAR_DIVISOR;                           // size of each interval of the loading bar.
   public static       int      LOADING_BAR_X;                                 // x anchor of main loading bar.
   public static       int      LOADING_BAR_Y;                                 // y anchor of main loading bar.
   public static       int      LOADING_BAR_TEXT_ANCHOR;                       // y anchor of "loading" text.
   public static       int      LOADING_BIGGS_Y;                               // y anchor of biggs loading graphic
   public static       int      LOADING_WINDOW_Y;                              // y anchor of loading bar window
   public static       short    SCREEN_WIDTH;                                  // screen-width as according to device.
   public static       short    SCREEN_HEIGHT;                                 // screen-height as according to device.
   public static       short    SCREEN_HALF_WIDTH;                             // 50% screen-width.
   public static       short    SCREEN_HALF_HEIGHT;                            // 50% screen-height.
   public static       short    SOFTKEY_MARGIN_BOTTOM;                         // y anchor of softkey labels
   public static       short    SOFTKEY_MARGIN_LEFT;                           // left anchor of left softkey label
   public static       short    SOFTKEY_MARGIN_RIGHT;                          // right anchor of right softkey label
   public static       short    BOARD_MARGIN_LEFT;
   public static       short    BOARD_MARGIN_RIGHT;



   //#ifdef MANUAL_BUFFER
//#    public static       Image    s_screen_image;                                // buffered representation of the screen.
//#    public static       Graphics s_screen_graphic;                              // Graphics object inerface to the screen.
   //#endif



   // setup screen parameters.
   public void setScreen() {

      if(SCREEN_WIDTH != getWidth() || SCREEN_HEIGHT != getHeight()) {
         SCREEN_WIDTH = (short)getWidth();
         SCREEN_HEIGHT = (short)getHeight();
         SCREEN_HALF_WIDTH = (short)(SCREEN_WIDTH / 2);
         SCREEN_HALF_HEIGHT = (short)(SCREEN_HEIGHT / 2);

         //#if DefaultConfiguration || Nokia_6600 || Nokia_6600_Unobfuscated || Razr
         MAX_SHAKE = (short)(4);
         LOADING_BAR_WIDTH = 118;
         LOADING_BAR_HEIGHT = 3;
         LOADING_BAR_X = 20;
         LOADING_BAR_Y = 22;
         LOADING_BAR_TEXT_ANCHOR = 3;
         LOADING_BIGGS_Y = 55;
         LOADING_WINDOW_Y = SCREEN_HEIGHT - 70;
         SOFTKEY_MARGIN_BOTTOM = (short)(SCREEN_HEIGHT - 2);
         SOFTKEY_MARGIN_LEFT = (short)(2);
         SOFTKEY_MARGIN_RIGHT = (short)(SCREEN_WIDTH - 2);
         BOARD_MARGIN_LEFT = 26;
         BOARD_MARGIN_RIGHT = 10;
         Level.GAME_BOARD_W = (short)(6);
         Level.GAME_BOARD_H = (short)(9);
         Level.GAME_SQUARE_W = (short)(23);
         Level.GAME_SQUARE_H = (short)(22);
         Level.LEFT_X = (short)(3);
         Level.RIGHT_X = (short)(SCREEN_WIDTH - 3);
         Level.TOP_Y = (short)(3);
         Level.BOTTOM_Y = (short)(SCREEN_HEIGHT - 15);
//         Level.POWERUP_Y = (short)(SCREEN_HEIGHT - 30);

         //tira CRC-25
         //smudrievky
         Level.POWERUP_Y = (short)(SCREEN_HEIGHT - 41);
         //<-

         Level.PADDING = (short)(3);
         Level.FOOD_BAR_X = (short)(9);
         Level.FOOD_BAR_Y = (short)(7);
         Level.FOOD_BAR_WIDTH = (short)(6);
         Level.FOOD_BAR_HEIGHT = (short)(160);
         Level.FOOD_BAR_MULTIPLYER = 2;
         Level.GROUND = (short)(Engine.SCREEN_HEIGHT - 13);
         //#ifndef NO_BOARD_BUMPS
         Level.BUMP_OFFSET = (byte)3;
         Level.MAX_BUMP_OFFSET = (byte)3;
         //#endif
         Critter.TIME_COIN_DIVISOR = (COORDS[Coords.COIN_IDLE_4][HEIGHT] << FP_SHIFT) / Critter.TIME_COIN_DURATION;
         Critter.S_BOX = new byte [] { (byte)-9, (byte)-6, (byte)18, (byte)12, };
         Avatar.TONGUE_X = (byte)(0);
         Avatar.TONGUE_Y = (byte)(-10);
         Avatar.TONGUE_W = (byte)(5);
         Avatar.BIGGS_BOARD_Y = (short)(Engine.SCREEN_HEIGHT - 60);
         Avatar.BIGGS_GROUND_Y = (short)(Engine.SCREEN_HEIGHT - 23);
         Avatar.BIGGS_SKY_Y = (byte)(45);
         Avatar.S_BOX = new byte [] { (byte)-10, (byte)-14, (byte)20, (byte)35 };
         Avatar.BIGGS_TONGUE_Y = (byte)(4);
         Menus.MENU_MAIN_Y_MID               = SCREEN_HALF_HEIGHT + 30;
         Menus.MENU_STATS_Y_MID              = SCREEN_HALF_HEIGHT + 30;
         Menus.MENU_WIDTH                    = Engine.COORDS[Coords.MENU_TOP][Engine.WIDTH];
         Menus.MENU_ITEM_TOGGLE_WIDTH        = COORDS[Coords.MENU_TOP][WIDTH] - 50;
         Menus.MENU_ITEM_STAT_WIDTH          = COORDS[Coords.MENU_TOP][WIDTH] - 30;
         Menus.MENU_ITEM_TEXT_WIDTH          = COORDS[Coords.MENU_TOP][WIDTH] - 30;
         Menus.MENU_ITEM_TEXT_HEIGHT         = SCREEN_HALF_HEIGHT - 40;
         Menus.MENU_ITEM_TEXT_FULL_WIDTH     = SCREEN_WIDTH - 10;
         Menus.MENU_ITEM_TEXT_FULL_HEIGHT    = SCREEN_HEIGHT - 50;
         Menus.MENU_ITEM_TEXT_END_WIDTH      = Menus.MENU_ITEM_TEXT_FULL_WIDTH;
         Menus.MENU_ITEM_TEXT_END_HEIGHT     = Menus.MENU_ITEM_TEXT_HEIGHT + Menus.MENU_ITEM_TEXT_HEIGHT/2;
         //#elif Nokia_3220 || Nokia_3220_Unobfuscated
//#          MAX_SHAKE = (short)(0);
//#          LOADING_BAR_WIDTH = 75;
//#          LOADING_BAR_HEIGHT = 2;
//#          LOADING_BAR_X = 16;
//#          LOADING_BAR_Y = 15;
//#          LOADING_BAR_TEXT_ANCHOR = 3;
//#          LOADING_BIGGS_Y = 30;
//#          LOADING_WINDOW_Y = SCREEN_HEIGHT - 40;
//#          SOFTKEY_MARGIN_BOTTOM = (short)(SCREEN_HEIGHT - 1);
//#          SOFTKEY_MARGIN_LEFT = (short)(1);
//#          SOFTKEY_MARGIN_RIGHT = (short)(SCREEN_WIDTH - 1);
//#          BOARD_MARGIN_LEFT = 16;
//#          BOARD_MARGIN_RIGHT = 6;
//#          Level.GAME_BOARD_W = (short)(6);
//#          Level.GAME_BOARD_H = (short)(8);
//#          Level.GAME_SQUARE_W = (short)(18);
//#          Level.GAME_SQUARE_H = (short)(16);
//#          Level.LEFT_X = (short)(2);
//#          Level.RIGHT_X = (short)(SCREEN_WIDTH - 1);
//#          Level.TOP_Y = (short)(1);
//#          Level.BOTTOM_Y = (short)(SCREEN_HEIGHT - 10);
//#          Level.POWERUP_Y = (short)(SCREEN_HEIGHT - 17);
//#          Level.PADDING = (short)(1);
//#          Level.FOOD_BAR_X = (short)(7);
//#          Level.FOOD_BAR_Y = (short)(4);
//#          Level.FOOD_BAR_WIDTH = (short)(3);
//#          Level.FOOD_BAR_HEIGHT = (short)(74);
//#          Level.FOOD_BAR_MULTIPLYER = 1;
//#          Level.GROUND = (short)(Engine.SCREEN_HEIGHT - 9);
         //#ifndef NO_BOARD_BUMPS
//#          Level.BUMP_OFFSET = (byte)2;
//#          Level.MAX_BUMP_OFFSET = (byte)2;
         //#endif
//#          Critter.TIME_COIN_DIVISOR = (COORDS[Coords.COIN_IDLE_4][HEIGHT] << FP_SHIFT) / Critter.TIME_COIN_DURATION;
//#          Critter.S_BOX = new byte [] { (byte)-6, (byte)-4, (byte)12, (byte)8, };
//#          Avatar.TONGUE_X = (byte)(-2);
//#          Avatar.TONGUE_Y = (byte)(-7);
//#          Avatar.TONGUE_W = (byte)(4);
//#          Avatar.BIGGS_BOARD_Y = (short)(Engine.SCREEN_HEIGHT - 40);
//#          Avatar.BIGGS_GROUND_Y = (short)(Engine.SCREEN_HEIGHT - 18);
//#          Avatar.BIGGS_SKY_Y = (byte)(30);
//#          Avatar.S_BOX = new byte [] { (byte)-5, (byte)-10, (byte)10, (byte)22 };
//#          Avatar.BIGGS_TONGUE_Y = (byte)(2);
//#          Menus.MENU_MAIN_Y_MID               = SCREEN_HALF_HEIGHT + 20;
//#          Menus.MENU_STATS_Y_MID              = SCREEN_HALF_HEIGHT + 10;
//#          Menus.MENU_WIDTH                    = Engine.COORDS[Coords.MENU_TOP][Engine.WIDTH];
//#          Menus.MENU_ITEM_TOGGLE_WIDTH        = SCREEN_WIDTH - 40;
//#          Menus.MENU_ITEM_STAT_WIDTH          = SCREEN_WIDTH - 26;
//#          Menus.MENU_ITEM_TEXT_WIDTH          = SCREEN_WIDTH - 30;
//#          Menus.MENU_ITEM_TEXT_HEIGHT         = (CUSTOM_FONT_NEWLINE_HEIGHT * Menus.NUM_TEXT_LINES)+1;
//#          Menus.MENU_ITEM_TEXT_FULL_WIDTH     = SCREEN_WIDTH - 10;
//#          Menus.MENU_ITEM_TEXT_FULL_HEIGHT    = SCREEN_HEIGHT - 20;
//#          Menus.MENU_ITEM_TEXT_END_WIDTH      = Menus.MENU_ITEM_TEXT_FULL_WIDTH;
//#          Menus.MENU_ITEM_TEXT_END_HEIGHT     = Menus.MENU_ITEM_TEXT_HEIGHT + Menus.MENU_ITEM_TEXT_HEIGHT/2;
         //#elif  Nokia_3100 || Nokia_3100_Unobfuscated
//#          MAX_SHAKE = (short)(0);
//#          LOADING_BAR_WIDTH = SCREEN_WIDTH;
//#          LOADING_BAR_HEIGHT = 5;
//#          LOADING_BAR_X = 0;
//#          LOADING_BAR_Y = SCREEN_HEIGHT - LOADING_BAR_HEIGHT;
//#          SOFTKEY_MARGIN_BOTTOM = (short)(SCREEN_HEIGHT - 1);
//#          SOFTKEY_MARGIN_LEFT = (short)(1);
//#          SOFTKEY_MARGIN_RIGHT = (short)(SCREEN_WIDTH - 1);
//#          BOARD_MARGIN_LEFT = 16;
//#          BOARD_MARGIN_RIGHT = 6;
//#          Level.GAME_BOARD_W = (short)(6);
//#          Level.GAME_BOARD_H = (short)(8);
//#          Level.GAME_SQUARE_W = (short)(17);
//#          Level.GAME_SQUARE_H = (short)(17);
//#          Level.LEFT_X = (short)(2);
//#          Level.RIGHT_X = (short)(SCREEN_WIDTH - 1);
//#          Level.TOP_Y = (short)(2);
//#          Level.BOTTOM_Y = (short)(SCREEN_HEIGHT - 10);
//#          Level.POWERUP_Y = (short)(SCREEN_HEIGHT - 17);
//#          Level.PADDING = (short)(1);
//#          Level.FOOD_BAR_X = (short)(7);
//#          Level.FOOD_BAR_Y = (short)(4);
//#          Level.FOOD_BAR_WIDTH = (short)(3);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -