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

📄 armlessmechmapset.java

📁 MegaMek is a networked Java clone of BattleTech, a turn-based sci-fi boardgame for 2+ players. Fight
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            a0 = m.getOInternal(i);            vLabels[i + INT_STRUCTURE_OFFSET].setValue(m.getInternalString(i));            WidgetUtils.setAreaColor(areas[i + INT_STRUCTURE_OFFSET], vLabels[i + INT_STRUCTURE_OFFSET], (double) a / (double) a0);        }        //heat        vLabels[19].setValue(Integer.toString(m.heat));        drawHeatControl(m.heat, mtHeat);    }    private void setAreas() {        areas[Mech.LOC_HEAD] = new PMSimplePolygonArea(head);        areas[Mech.LOC_CT] = new PMSimplePolygonArea(centralTorso);        areas[Mech.LOC_RT] = new PMSimplePolygonArea(rightTorso);        areas[Mech.LOC_LT] = new PMSimplePolygonArea(leftTorso);        areas[Mech.LOC_RLEG] = new PMSimplePolygonArea(rightLeg);        areas[Mech.LOC_LLEG] = new PMSimplePolygonArea(leftLeg);        areas[REAR_AREA_OFFSET + Mech.LOC_CT] = new PMSimplePolygonArea(rearCentralTorso);        areas[REAR_AREA_OFFSET + Mech.LOC_RT] = new PMSimplePolygonArea(rearRightTorso);        areas[REAR_AREA_OFFSET + Mech.LOC_LT] = new PMSimplePolygonArea(rearLeftTorso);        areas[INT_STRUCTURE_OFFSET + Mech.LOC_HEAD] = new PMSimplePolygonArea(intStHead);        areas[INT_STRUCTURE_OFFSET + Mech.LOC_CT] = new PMSimplePolygonArea(inStCentralTorso);        areas[INT_STRUCTURE_OFFSET + Mech.LOC_RT] = new PMSimplePolygonArea(inStRightTorso);        areas[INT_STRUCTURE_OFFSET + Mech.LOC_LT] = new PMSimplePolygonArea(inStLeftTorso);        areas[INT_STRUCTURE_OFFSET + Mech.LOC_RLEG] = new PMSimplePolygonArea(inStRightLeg);        areas[INT_STRUCTURE_OFFSET + Mech.LOC_LLEG] = new PMSimplePolygonArea(inStLeftLeg);        heatImage = comp.createImage(10, 120);        drawHeatControl(0);        heatHotArea = new PMPicPolygonalArea(heatControl, heatImage);    }    private void setLabels() {        FontMetrics fm = comp.getFontMetrics(FONT_LABEL);                //Labels for Front view        labels[Mech.LOC_HEAD] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_H"), fm, Color.black, 62, 6); //$NON-NLS-1$        labels[Mech.LOC_LT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_LT"), fm, Color.black, 41, 52); //$NON-NLS-1$        labels[Mech.LOC_CT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_CT"), fm, Color.black, 62, 42); //$NON-NLS-1$        labels[Mech.LOC_RT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_RT"), fm, Color.black, 84, 52); //$NON-NLS-1$        labels[Mech.LOC_LLEG] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_LL"), fm, Color.black, 28, 92); //$NON-NLS-1$        labels[Mech.LOC_RLEG] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_RL"), fm, Color.black, 98, 92); //$NON-NLS-1$        //Labels for Back view        labels[REAR_AREA_OFFSET + Mech.LOC_LT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_LT"), fm, Color.black, 133, 39); //$NON-NLS-1$        labels[REAR_AREA_OFFSET + Mech.LOC_CT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_CT"), fm, Color.black, 156, 25); //$NON-NLS-1$        labels[REAR_AREA_OFFSET + Mech.LOC_RT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_RT"), fm, Color.black, 178, 39); //$NON-NLS-1$        //Labels for Internal Structure        labels[INT_STRUCTURE_OFFSET + Mech.LOC_HEAD] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_H"), fm, Color.black, 63, 130); //$NON-NLS-1$        labels[INT_STRUCTURE_OFFSET + Mech.LOC_LT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_LT"), fm, Color.black, 42, 166); //$NON-NLS-1$        labels[INT_STRUCTURE_OFFSET + Mech.LOC_CT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.L_CT"), fm, Color.black, 63, 168); //$NON-NLS-1$        labels[INT_STRUCTURE_OFFSET + Mech.LOC_RT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_RT"), fm, Color.black, 85, 166); //$NON-NLS-1$        labels[INT_STRUCTURE_OFFSET + Mech.LOC_LLEG] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_LL"), fm, Color.black, 33, 210); //$NON-NLS-1$        labels[INT_STRUCTURE_OFFSET + Mech.LOC_RLEG] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_RL"), fm, Color.black, 93, 210); //$NON-NLS-1$                //Value labels for all parts of mek        //front        fm = comp.getFontMetrics(FONT_VALUE);        vLabels[Mech.LOC_HEAD] = WidgetUtils.createValueLabel(62, 22, "", fm); //$NON-NLS-1$        vLabels[Mech.LOC_LT] = WidgetUtils.createValueLabel(38, 44, "", fm); //$NON-NLS-1$        vLabels[Mech.LOC_CT] = WidgetUtils.createValueLabel(62, 57, "", fm); //$NON-NLS-1$        vLabels[Mech.LOC_RT] = WidgetUtils.createValueLabel(86, 44, "", fm); //$NON-NLS-1$        vLabels[Mech.LOC_LLEG] = WidgetUtils.createValueLabel(23, 113, "", fm); //$NON-NLS-1$        vLabels[Mech.LOC_RLEG] = WidgetUtils.createValueLabel(102, 113, "", fm); //$NON-NLS-1$        //back        vLabels[REAR_AREA_OFFSET + Mech.LOC_LT] = WidgetUtils.createValueLabel(132, 28, "", fm); //$NON-NLS-1$        vLabels[REAR_AREA_OFFSET + Mech.LOC_CT] = WidgetUtils.createValueLabel(156, 39, "", fm); //$NON-NLS-1$        vLabels[REAR_AREA_OFFSET + Mech.LOC_RT] = WidgetUtils.createValueLabel(177, 28, "", fm); //$NON-NLS-1$        //Internal structure        vLabels[INT_STRUCTURE_OFFSET + Mech.LOC_HEAD] = WidgetUtils.createValueLabel(63, 142, "", fm); //$NON-NLS-1$        vLabels[INT_STRUCTURE_OFFSET + Mech.LOC_LT] = WidgetUtils.createValueLabel(42, 180, "", fm); //$NON-NLS-1$        vLabels[INT_STRUCTURE_OFFSET + Mech.LOC_CT] = WidgetUtils.createValueLabel(63, 182, "", fm); //$NON-NLS-1$        vLabels[INT_STRUCTURE_OFFSET + Mech.LOC_RT] = WidgetUtils.createValueLabel(85, 180, "", fm); //$NON-NLS-1$        vLabels[INT_STRUCTURE_OFFSET + Mech.LOC_LLEG] = WidgetUtils.createValueLabel(33, 223, "", fm); //$NON-NLS-1$        vLabels[INT_STRUCTURE_OFFSET + Mech.LOC_RLEG] = WidgetUtils.createValueLabel(92, 223, "", fm); //$NON-NLS-1$        //heat        vLabels[19] = WidgetUtils.createValueLabel(155, 90, "", fm); //$NON-NLS-1$    }    private void setGroups() {        // Have to remove it later        PMAreasGroup frontArmor = new PMAreasGroup();        PMAreasGroup rearArmor = new PMAreasGroup();        PMAreasGroup intStructure = new PMAreasGroup();        PMAreasGroup heat = new PMAreasGroup();        for (int i = 0; i < 8; i++) {            if (i == Mech.LOC_LARM || i == Mech.LOC_RARM) {                continue;            }            frontArmor.addArea(areas[i]);            frontArmor.addArea(labels[i]);            frontArmor.addArea(vLabels[i]);        }        //content.addArea(new PMSimplePolygonArea(new Polygon(new int[]{-7,-6,-7}, new int[]{18,19,19},3)));                for (int i = 0; i < 3; i++) {            rearArmor.addArea(areas[8 + i]);            rearArmor.addArea(labels[8 + i]);            rearArmor.addArea(vLabels[8 + i]);        }        for (int i = 0; i < 8; i++) {            if (i == Mech.LOC_LARM || i == Mech.LOC_RARM) {                continue;            }            intStructure.addArea(areas[11 + i]);            intStructure.addArea(labels[11 + i]);            intStructure.addArea(vLabels[11 + i]);        }        heat.addArea(heatHotArea);        heat.addArea(vLabels[19]);        frontArmor.translate(7, 18);        rearArmor.translate(19, 20);        intStructure.translate(6, 42);        heat.translate(20, 52);                //This have to be left        for (int i = 0; i < 19; i++) {            if (i == Mech.LOC_LARM || i == Mech.LOC_RARM) {                continue;            }            content.addArea(areas[i]);            content.addArea(labels[i]);            content.addArea(vLabels[i]);        }        content.addArea(heatHotArea);        content.addArea(vLabels[19]);    }    private void setBackGround() {        Image tile = comp.getToolkit().getImage(IMAGE_DIR + "/tile.gif"); //$NON-NLS-1$        PMUtil.setImage(tile, comp);        int b = BackGroundDrawer.TILING_BOTH;        bgDrawers.addElement(new BackGroundDrawer(tile, b));        tile = comp.getToolkit().getImage(IMAGE_DIR + "/bg_mech.gif"); //$NON-NLS-1$        PMUtil.setImage(tile, comp);        b = BackGroundDrawer.NO_TILING | BackGroundDrawer.VALIGN_CENTER | BackGroundDrawer.HALIGN_CENTER;        BackGroundDrawer bgd = new BackGroundDrawer(tile, b);        bgDrawers.addElement(bgd);    }    private void drawHeatControl(int t) {        drawHeatControl(t, false);    }    private void drawHeatControl(int t, boolean mtHeat) {        int y = 0;        int maxHeat, steps;        if (mtHeat) {            maxHeat = 50;            steps = 2;        } else {            maxHeat = 30;            steps = 4;        }        Graphics g = heatImage.getGraphics();        for (int i = 0; i < maxHeat; i++) {            y = 120 - (i + 1) * steps;            if (i < t) {                g.setColor(Color.red);            } else {                g.setColor(Color.lightGray);            }            g.fillRect(0, y, 10, steps);            g.setColor(Color.black);            g.drawRect(0, y, 10, steps);        }    }}

⌨️ 快捷键说明

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