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

📄 zoncanvas.java

📁 基于J2ME 开发的冒险类手机游戏
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
			spriteLead.setPosition(10, scrHeight - 64);
			break;
		case GAMESTAGE_THREE:
			spriteLead.setPosition(64, scrHeight - 96);
			break;
		}
		spriteLead.setSpriteIndex(0);
		spriteLead.setMap(mainMap);
		spriteLead.initImage();
		spriteLead.setBloodCount(4);
/*		spriteLead.setScore(tempScore);
		spriteLead.setLifeCount(tempLifeCount);*/
		return true;
	}

	private void initTop(int index, int offsetX, int offsetY, int start, int end) {
		enemyTops[index].setPosition(offsetX, offsetY);
		enemyTops[index].setStartOffset(start, end);
	}

	private boolean initTops() {
		// init top enemy
		switch (gameStage) {
		case GAMESTAGE_ONE:
			enemyTops = new EnemyJump[10];
			for (int i = 0; i < enemyTops.length; i++) {
				enemyTops[i] = new EnemyJump(scrWidth, scrHeight);
				if (enemyTops[i] == null)
					return false;
				enemyTops[i].initSprite("enemysprite32_1", 32, 32, false);
				enemyTops[i].setSpriteIndex(1);
				enemyTops[i].setFrameSequence(1, 5);
				enemyTops[i].setSpriteType(EnemyJump.JUMPTYPE_TOP);
			}
			initTop(0, 16 * 5, scrHeight - 16 * 6, 16 * 5, 16 * 8);
			initTop(1, 16 * 19, scrHeight - 16 * 4, 16 * 19, 16 * 22);
			initTop(2, 16 * 7, scrHeight - 16 * 13, 16 * 3, 16 * 7);
			initTop(3, 16 * 13, scrHeight - 16 * 13, 16 * 9, 16 * 13);
			initTop(4, 16 * 48, scrHeight - 16 * 6, 16 * 45, 16 * 48);
			initTop(5, 16 * 52, scrHeight - 16 * 5, 16 * 50, 16 * 52);
			initTop(6, 16 * 40, scrHeight - 16 * 13, 16 * 37, 16 * 40);
			initTop(7, 16 * 59, scrHeight - 16 * 11, 16 * 56, 16 * 59);
			initTop(8, 16 * 103, scrHeight - 16 * 6, 16 * 103, 16 * 103);
			initTop(9, 16 * 120, scrHeight - 16 * 6, 16 * 115, 16 * 120);
			break;
		case GAMESTAGE_TWO:
			break;
		case GAMESTAGE_THREE:
			//			复用此对象,8个为磨菇
			enemyTops = new EnemyJump[8];
			for (int i = 0; i < enemyTops.length; i++) {
				enemyTops[i] = new EnemyJump(scrWidth, scrHeight);
				if (enemyTops[i] == null)
					return false;
				enemyTops[i].initSprite("enemysprite32_3", 32, 24, false);
				enemyTops[i].setSpriteIndex(2);
				enemyTops[i].setFrameSequence(2, 4);
				enemyTops[i].setSpriteType(EnemyJump.JUMPTYPE_MUSHROOM);
			}
			initTop(0, 16 * 15, scrHeight - 16 * 13 + 8, 16 * 15, 16 * 18);
			initTop(1, 16 * 18, scrHeight - 16 * 3 + 8, 16 * 18, 16 * 22);
			initTop(2, 16 * 36, scrHeight - 16 * 5 + 8, 16 * 36, 16 * 40);
			
			initTop(3, 16 * 51, scrHeight - 16 * 12 + 8, 16 * 51, 16 * 55);
			initTop(4, 16 * 50, scrHeight - 16 * 4 + 8, 16 * 50, 16 * 55);
			initTop(5, 16 * 75, scrHeight - 16 * 6 + 8, 16 * 75, 16 * 77);
			initTop(6, 16 * 85, scrHeight - 16 * 4 + 8, 16 * 85, 16 * 88);
			initTop(7, 16 * 118, scrHeight - 16 * 4 + 8, 16 * 118, 16 * 121);
			break;
		}

		for (int i = 0; i < enemyTops.length; i++) {
			enemyTops[i].setMap(mainMap);
		}
		return true;
	}

	private void initSpring(int index, int offsetX, int offsetY, int start,
			int end) {
		enemySpring[index].setPosition(offsetX, offsetY);
		enemySpring[index].setStartOffset(start, end);
	}

	private boolean initSpring() {
		// init spring enemy
		switch (gameStage) {
		case GAMESTAGE_ONE:
			enemySpring = new EnemyWalk[7];
			for (int i = 0; i < enemySpring.length; i++) {
				enemySpring[i] = new EnemyWalk(scrWidth, scrHeight);
				if (enemySpring[i] == null)
					return false;
				enemySpring[i].initSprite("enemysprite32_share", 32, 32, false);
				enemySpring[i].setSpriteIndex(6);
				enemySpring[i].setFrameSequence(6, 7);
				enemySpring[i].setSpriteType(EnemyWalk.SPRITETYPE_SPRING);
			}

			initSpring(0, 16 * 13, scrHeight - 16 * 5, 16 * 10, 16 * 13);
			initSpring(1, 16 * 17, scrHeight - 16 * 4, 16 * 15, 16 * 17);
			initSpring(2, 16 * 18, scrHeight - 16 * 12, 16 * 15, 16 * 18);
			initSpring(3, 16 * 46, scrHeight - 16 * 11, 16 * 43, 16 * 46);
			initSpring(4, 16 * 61, scrHeight - 16 * 5, 16 * 56, 16 * 61);
			initSpring(5, 16 * 79, scrHeight - 16 * 5, 16 * 75, 16 * 79);
			initSpring(6, 16 * 113, scrHeight - 16 * 8, 16 * 109, 16 * 113);
			break;
		case GAMESTAGE_TWO:
			enemySpring = new EnemyWalk[6];
			for (int i = 0; i < enemySpring.length; i++) {
				enemySpring[i] = new EnemyWalk(scrWidth, scrHeight);
				if (enemySpring[i] == null)
					return false;
				enemySpring[i].initSprite("enemysprite32_share", 32, 32, false);
				enemySpring[i].setSpriteIndex(6);
				enemySpring[i].setFrameSequence(6, 7);
				enemySpring[i].setSpriteType(EnemyWalk.SPRITETYPE_SPRING);
			}

			initSpring(0, 16 * 9, scrHeight - 16 * 6, 16 * 5 + 8, 16 * 9 + 8);
			initSpring(1, 16 * 14, scrHeight - 16 * 10, 16 * 12, 16 * 14);
			initSpring(2, 16 * 42, scrHeight - 16 * 4, 16 * 39, 16 * 42);
			initSpring(3, 16 * 66, scrHeight - 16 * 6, 16 * 63, 16 * 66);
			initSpring(4, 16 * 80, scrHeight - 16 * 7, 16 * 77, 16 * 80);
			initSpring(5, 16 * 92, scrHeight - 16 * 5, 16 * 88, 16 * 92);

			break;
		case GAMESTAGE_THREE:
			enemySpring = new EnemyWalk[6];
			for (int i = 0; i < enemySpring.length; i++) {
				enemySpring[i] = new EnemyWalk(scrWidth, scrHeight);
				if (enemySpring[i] == null)
					return false;
				enemySpring[i].initSprite("enemysprite32_share", 32, 32, false);
				enemySpring[i].setSpriteIndex(6);
				enemySpring[i].setFrameSequence(6, 7);
				enemySpring[i].setSpriteType(EnemyWalk.SPRITETYPE_SPRING);
			}

			initSpring(0, 16 * 25, scrHeight - 16 * 9, 16 * 22, 16 * 25);
			initSpring(1, 16 * 39, scrHeight - 16 * 7, 16 * 37, 16 * 39);
			initSpring(2, 16 * 66, scrHeight - 16 * 10, 16 * 63, 16 * 66);
			initSpring(3, 16 * 66, scrHeight - 16 * 5, 16 * 63, 16 * 66);
			initSpring(4, 16 * 83, scrHeight - 16 * 4, 16 * 80, 16 * 83);
			initSpring(5, 16 * 109, scrHeight - 16 * 6, 16 * 106, 16 * 109);

			break;
		}

		for (int i = 0; i < enemySpring.length; i++) {
			enemySpring[i].setMap(mainMap);
		}
		return true;
	}

	private void initBlueFoot(int index, int offsetX, int offsetY, int start,
			int end) {
		enemyBlueFeet[index].setPosition(offsetX, offsetY);
		enemyBlueFeet[index].setStartOffset(start, end);
	}

	private boolean initBlueFeet() {
		switch (gameStage) {
		case GAMESTAGE_TWO:
			enemyBlueFeet = new EnemyWalk[12];
			for (int i = 0; i < enemyBlueFeet.length; i++) {
				enemyBlueFeet[i] = new EnemyWalk(scrWidth, scrHeight);
				if (enemyBlueFeet[i] == null)
					return false;
				enemyBlueFeet[i].initSprite("enemysprite32_2", 32, 24, false);
				enemyBlueFeet[i].setSpriteIndex(1);
				enemyBlueFeet[i].setFrameSequence(1, 3);
				enemyBlueFeet[i].setSpriteType(EnemyWalk.SPRITETYPE_BLUEFOOT);
			}

			initBlueFoot(0, 16 * 5, scrHeight - 16 * 4 + 8, 16 * 5, 16 * 9);
			initBlueFoot(1, 16 * 11, scrHeight - 16 * 4 + 8, 16 * 11, 16 * 14);
			initBlueFoot(2, 16 * 17, scrHeight - 16 * 8 + 8, 16 * 17, 16 * 20);
			initBlueFoot(3, 16 * 32, scrHeight - 16 * 4 + 8, 16 * 32, 16 * 36);
			initBlueFoot(4, 16 * 44, scrHeight - 16 * 4 + 8, 16 * 44, 16 * 47);
			initBlueFoot(5, 16 * 41, scrHeight - 16 * 13 + 8, 16 * 41, 16 * 45);

			initBlueFoot(6, 16 * 75, scrHeight - 16 * 5 + 8, 16 * 75, 16 * 78);
			initBlueFoot(7, 16 * 81, scrHeight - 16 * 5 + 8, 16 * 81, 16 * 84);
			initBlueFoot(8, 16 * 75, scrHeight - 16 * 13 + 8, 16 * 75, 16 * 79);
			initBlueFoot(9, 16 * 82, scrHeight - 16 * 11 + 8, 16 * 82, 16 * 84);
			initBlueFoot(10, 16 * 112, scrHeight - 16 * 5 + 8, 16 * 112, 16 * 115);
			initBlueFoot(11, 16 * 112, scrHeight - 16 * 9 + 8, 16 * 112, 16 * 115);

			break;

		}

		for (int i = 0; i < enemyBlueFeet.length; i++) {
			enemyBlueFeet[i].setMap(mainMap);
		}
		return true;

	}

	private void initBird(int index, int offsetX, int offsetY, int start,
			int end, int top, int bottom) {
		enemyBirds[index].setPosition(offsetX, offsetY);
		enemyBirds[index].setStartOffset(start, end,
				top - mainMap.getOffsetY(), bottom - mainMap.getOffsetY());
	}

	private boolean initBirds() {
		// init bird enemy
		switch (gameStage) {
		case GAMESTAGE_ONE:
			enemyBirds = new EnemyFly[8];
			for (int i = 0; i < enemyBirds.length; i++) {
				enemyBirds[i] = new EnemyFly(scrWidth, scrHeight);
				if (enemyBirds[i] == null)
					return false;
				enemyBirds[i].initSprite("enemysprite32_share", 32, 32, false);
				enemyBirds[i].setSpriteIndex(0);
			}
			initBird(0, 16 * 29, scrHeight - 16 * 5, 16 * 24, 16 * 29,
					scrHeight - 16 * 6, scrHeight - 16 * 4);
			initBird(1, 16 * 34, scrHeight - 16 * 9, 16 * 27, 16 * 34,
					scrHeight - 16 * 10, scrHeight - 16 * 8);
			initBird(2, 16 * 34, scrHeight - 16 * 14, 16 * 29, 16 * 34,
					scrHeight - 16 * 15, scrHeight - 16 * 13);
			initBird(3, 16 * 44, scrHeight - 16 * 6, 16 * 39, 16 * 44,
					scrHeight - 16 * 7, scrHeight - 16 * 5);
			initBird(4, 16 * 55, scrHeight - 16 * 10, 16 * 50, 16 * 55,
					scrHeight - 16 * 11, scrHeight - 16 * 9);
			initBird(5, 16 * 69, scrHeight - 16 * 7, 16 * 64, 16 * 69,
					scrHeight - 16 * 8, scrHeight - 16 * 6);
			initBird(6, 16 * 93, scrHeight - 16 * 8, 16 * 88, 16 * 93,
					scrHeight - 16 * 9, scrHeight - 16 * 7);
			initBird(7, 16 * 100, scrHeight - 16 * 11, 16 * 96, 16 * 100,
					scrHeight - 16 * 12, scrHeight - 16 * 10);

			break;
		case GAMESTAGE_TWO:
			enemyBirds = new EnemyFly[8];
			for (int i = 0; i < enemyBirds.length; i++) {
				enemyBirds[i] = new EnemyFly(scrWidth, scrHeight);
				if (enemyBirds[i] == null)
					return false;
				enemyBirds[i].initSprite("enemysprite32_share", 32, 32, false);
				enemyBirds[i].setSpriteIndex(0);
			}

			initBird(0, 16 * 23, scrHeight - 16 * 6, 16 * 20, 16 * 23,
					scrHeight - 16 * 7, scrHeight - 16 * 6);

			initBird(1, 16 * 30, scrHeight - 16 * 9, 16 * 26, 16 * 30,
					scrHeight - 16 * 10, scrHeight - 16 * 9);

			initBird(2, 16 * 41, scrHeight - 16 * 14, 16 * 37, 16 * 41,
					scrHeight - 16 * 15, scrHeight - 16 * 14);

			initBird(3, 16 * 54, scrHeight - 16 * 8, 16 * 51, 16 * 54,
					scrHeight - 16 * 9, scrHeight - 16 * 8);

			initBird(4, 16 * 58, scrHeight - 16 * 12, 16 * 53, 16 * 58,
					scrHeight - 16 * 13, scrHeight - 16 * 12);

			initBird(5, 16 * 78, scrHeight - 16 * 14, 16 * 75, 16 * 78,
					scrHeight - 16 * 15, scrHeight - 16 * 14);

			initBird(6, 16 * 100, scrHeight - 16 * 7, 16 * 97, 16 * 100,
					scrHeight - 16 * 8, scrHeight - 16 * 7);

			initBird(7, 16 * 106, scrHeight - 16 * 7, 16 * 102, 16 * 106,
					scrHeight - 16 * 9, scrHeight - 16 * 7);

			break;
		case GAMESTAGE_THREE:
			
			enemyBirds = new EnemyFly[7];
			for (int i = 0; i < enemyBirds.length; i++) {
				enemyBirds[i] = new EnemyFly(scrWidth, scrHeight);
				if (enemyBirds[i] == null)
					return false;
				enemyBirds[i].initSprite("enemysprite32_share", 32, 32, false);
				enemyBirds[i].setSpriteIndex(0);
				
			}
			

			initBird(0, 16 * 8, scrHeight - 16 * 6, 16 * 4, 16 * 8,
					scrHeight - 16 * 7, scrHeight - 16 * 6);

			initBird(1, 16 * 13, scrHeight - 16 * 10, 16 * 9, 16 * 13,
					scrHeight - 16 * 11, scrHeight - 16 * 10);

			initBird(2, 16 * 34, scrHeight - 16 * 4, 16 * 31, 16 * 34,
					scrHeight - 16 * 5, scrHeight - 16 * 4);

			initBird(3, 16 * 34, scrHeight - 16 * 9, 16 * 29, 16 * 34,
					scrHeight - 16 * 10, scrHeight - 16 * 9);

			initBird(4, 16 * 61, scrHeight - 16 * 9, 16 * 57, 16 * 61,
					scrHeight - 16 * 10, scrHeight - 16 * 9);

			initBird(5, 16 * 73, scrHeight - 16 * 8, 16 * 69, 16 * 73,
					scrHeight - 16 * 9, scrHeight - 16 * 8);

			initBird(6, 16 * 97, scrHeight - 16 * 7, 16 * 93, 16 * 97,
					scrHeight - 16 * 8, scrHeight - 16 * 7);
		
			break;
		}
		for (int i = 0; i < enemyBirds.length; i++) {
			enemyBirds[i].setMap(mainMap);
		}

		return true;
	}


	private void initStepStone(int index, int offsetX, int offsetY, int start,
			int end) {
		stepStone[index].setPosition(offsetX, offsetY);
		stepStone[index].setStartOffset(start, end);
	}
	
	private void initStepFloat(int index, int offsetX, int offsetY, int start,
			int end, int top, int bottom) {
		stepYellow[index].setPosition(offsetX, offsetY);
		stepYellow[index].setStartOffset(start, end, top - mainMap.getOffsetY(), bottom - mainMap.getOffsetY());
	}

	private boolean initStepStone() {
		switch (gameStage) {
		case GAMESTAGE_ONE:
			stepStone = new StepStone[10];
			for (int i = 0; i < stepStone.length; i++) {
				stepStone[i] = new StepStone(scrWidth, scrHeight);
				if (stepStone[i] == null)
					return false;
				stepStone[i].initSprite("enemysprite32_1", 32, 32, false);
				stepStone[i].setSpriteIndex(0);
				stepStone[i].setSpriteType(StepStone.STEPTYPE_STONE);
			}
			initStepStone(0, 16 * 24, scrHeight - 16 * 4 + 8, 16 * 24, 16 * 27);
			initStepStone(1, 16 * 25, scrHeight - 16 * 7, 16 * 25, 16 * 29);
			initStepStone(2, 16 * 27, scrHeight - 16 * 7, 16 * 27, 16 * 31);
			initStepStone(3, 16 * 30, scrHeight - 16 * 12 + 8, 16 * 30, 16 * 34);
			initStepStone(4, 16 * 63, scrHeight - 16 * 4, 16 * 63, 16 * 66);
			initStepStone(5, 16 * 65, scrHeight - 16 * 4, 16 * 65, 16 * 68);
			initStepStone(6, 16 * 87, scrHeight - 16 * 6 + 8, 16 * 87, 16 * 91);
			initStepStone(7, 16 * 92, scrHeight - 16 * 7, 16 * 92, 16 * 95);
			initStepStone(8, 16 * 94, scrHeight - 16 * 7, 16 * 94, 16 * 97);
			initStepStone(9, 16 * 98, scrHeight - 16 * 9, 16 * 98, 16 * 100);

			break;
		case GAMESTAGE_TWO:
			stepStone = new StepStone[6];
			for (int i = 0; i < stepStone.length; i++) {
				stepStone[i] = new StepStone(scrWidth, scrHeight);
				if (stepStone[i] == null)
					return false;
				stepStone[i].initSprite("enemysprite32_2", 32, 24, false);
				stepStone[i].setSpriteIndex(0);
				stepStone[i].setSpriteType(StepStone.STEPTYPE_STONE);
			}

			initStepStone(0, 16 * 19, scrHeight - 16 * 3, 16 * 19, 16 * 22);
			initStepStone(1, 16 * 23, scrHeight - 16 * 6, 16 * 23, 16 * 28);
			initStepStone(2, 16 * 49, scrHeight - 16 * 5, 16 * 49, 16 * 53);
			initStepStone(3, 16 * 51, scrHeight - 16 * 9, 16 * 51, 16 * 57);
			initStepStone(4, 16 * 97, scrHeight - 16 * 4, 16 * 97, 16 * 102);
			initStepStone(5, 16 * 99, scrHeight - 16 * 4, 16 * 99, 16 * 104);
			break;
		case GAMESTAGE_THREE:
			// 第三关StepStone复用作5个静止绿叶, stepYellow6个漂浮的黄叶,
			stepYellow = new StepStone[6];
			for (int i = 0; i < stepYellow.length; i++) {
				stepYellow[i] = new StepStone(scrWidth, scrHeight);
				if (stepYellow[i] == null)
					return false;
				stepYellow[i].initSprite("enemysprite32_3", 32, 24, false);
				stepYellow[i].setSpriteIndex(1);
				stepYellow[i].setSpriteType(StepStone.STEPTYPE_YELLOWLEAF);
			}
			
			stepStone = new StepStone[5];
			for (int i = 0; i < stepStone.length; i++) {
				stepStone[i] = new StepStone(scrWidth, scrHeight);
				if (stepStone[i] == null)
					return false;
				stepStone[i].initSprite("enemysprite32_3", 32, 24, false);
				stepStone[i].setSpriteIndex(0);
				stepStone[i].setSpriteType(StepStone.STEPTYPE_GREENLEAF);
			}

			// YELLOWLEAF
			initStepFloat(0, 16 * 30 + 8, scrHeight - 16 * 8, 16 * 30 + 8, 16 * 32 + 8,
					scrHeight - 16 * 8, scrHeight - 16 * 4);
			initStepFloat(1, 16 * 32 + 8, scrHeight - 16 * 8, 16 * 32 + 8, 16 * 34 + 8,
					scrHeight - 16 * 8, scrHeight - 16 * 4);
			initStepFloat(2, 16 * 58, scrHeight - 16 * 11, 16 * 58, 16 * 59,
					scrHeight - 16 * 11, scrHeight - 16 * 4);
			initStepFloat(3, 16 * 60, scrHeight - 16 * 11, 16 * 60, 16 * 61,
					scrHeight - 16 * 11, scrHeight - 16 * 4);
			initStepFloat(4, 16 * 89, scrHeight - 16 * 10, 16 * 91, 16 * 93,
					scrHeight - 16 * 10, scrHeight - 16 * 5);
			initStepFloat(5, 16 * 91, scrHeight - 16 * 10, 16 * 93, 16 * 95,
					scrHeight - 16 * 10, scrHeight - 16 * 5);

			// GREENLEAF
			stepStone[0].setPosition(16 * 12, scrHeight - 16 * 9);
			stepStone[1].setPosition(16 * 31, scrHeight - 16 * 2);
			stepStone[2].setPosition(16 * 46 + 8, scrHeight - 16 * 9 + 8);
			stepStone[3].setPosition(16 * 82, scrHeight - 16 * 9);
			stepStone[4].setPosition(16 * 118, scrHeight - 16 * 6);
			
			for (int i = 0; i < stepYellow.length; i++) {
				stepYellow[i].setMap(mainMap);
				stepYellow[i].setMoveDirection(ZonSprite.MOVEDIRECTION_RIGHT);
			}
			break;
		}

		for (int i = 0; i < stepStone.length; i++) {
			stepStone[i].setMap(mainMap);
			stepStone[i].setMoveDirection(ZonSprite.MOVEDIRECTION_RIGHT);
		}

		return true;
	}

	private boolean initBoxes() {
		switch (gameStage) {
		case GAMESTAGE_ONE:
			magicBoxes = new MagicBox[23];
			for (int i = 0; i < magicBoxes.length; i++) {
				magicBoxes[i] = new MagicBox(scrWidth, scrHeight);
				if (magicBoxes[i] == null)
					return false;
				magicBoxes[i].initSprite("enemysprite16_share", 16, 16, false);
				magicBoxes[i].setFrameSequence(0, 0);
			}

			magicBoxes[0].setPosition(16 * 4, scrHeight - 16 * 12);
			magicBoxes[1].setPosition(16 * 2, scrHeight - 16 * 13);
			magicBoxes[2].setPosition(16 * 3, scrHeight - 16 * 13);
			magicBoxes[3].setPosition(16 * 2, scrHeight - 16 * 12);
			magicBoxes[4].setPosition(16 * 3, scrHeight - 16 * 12);
			magicBoxes[5].setPosition(16 * 54, scrHeight - 16 * 8);
			magicBoxes[6].setPosition(16 * 55, scrHeight - 16 * 8);
			magicBoxes[7].setPosition(16 * 54, scrHeight - 16 * 7);
			magicBoxes[8].setPosition(16 * 55, scrHeight - 16 * 5);
			magicBoxes[9].setPosition(16 * 54, scrHeight - 16 * 4);
			magicBoxes[10].setPosition(16 * 55, scrHeight - 16 * 4);
			magicBoxes[11].setPosition(16 * 74, scrHeight - 16 * 6);
			magicBoxes[12].setPosition(16 * 75, scrHeight - 16 * 5);
			magicBoxes[13].setPosition(16 * 99, scrHeight - 16 * 4);
			magicBoxes[14].setPosition(16 * 100, scrHeight - 16 * 4);
			magicBoxes[15].setPosition(16 * 99, scrHeight - 16 * 3);
			magicBoxes[16].setPosition(16 * 105, scrHeight - 16 * 9);
			magicBoxes[17].setPosition(16 * 106, scrHeight - 16 * 9);
			magicBoxes[18].setPosition(16 * 107, scrHeight - 16 * 9);

⌨️ 快捷键说明

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