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

📄 arc_canvas.java

📁 本光盘是《J2ME无线移动游戏开发》一书的配套光盘
💻 JAVA
字号:
package ch05;

import java.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;

public class Arc_Canvas
    extends GameCanvas {

  //获取绘制上下文
  Graphics g = getGraphics();

  //声明一个代表弧起始角度的int型属性变量
  int startAngle = 0;

  //声明一个代表弧终止角度的int型属性变量
  int arcAngle = 0;

  //变量w和h为模拟器的当前屏幕宽度和高度
  int w = getWidth();
  int h = getHeight();

  //构造器
  public Arc_Canvas() throws IOException {
    //支持按键事件
    super(false);
    setTitle("绘制弧形实例");
  }

  //启动绘制
  public void start() {
    render(g, 0, 0);
  }

  /*
   3.绘制方法
   */
  void render(Graphics g, int startAngle, int arcAngle) {
    //填充背景色
    g.setColor(255, 255, 255);
    g.fillRect(0, 0, w, h);

    //绘制椭圆所在的矩形框
    g.setColor(0x00ff00);
    g.drawRect(w / 4, h / 4, w / 2, h / 2);

    //绘制弧所在的椭圆
    g.setColor(0xff0000);
    g.drawArc(w / 4, h / 4, w / 2, h / 2, 0, 360);

    //绘制填充弧
    g.setColor(0x0000ff);
    g.fillArc(w / 4, h / 4, w / 2, h / 2, startAngle, arcAngle);

    flushGraphics();
  }

  //响应连续按键事件
  public void keyRepeated(int key) {
    keyPressed(key);
  }

  /*
   4.响应按键事件
   */
  public void keyPressed(int key) {

    int action = getGameAction(key);

    switch (action) {
      case LEFT:
        if (startAngle > 350) {
          startAngle = 0;
        }
        else {
          startAngle += 10;
        }
        break;
      case RIGHT:
        if (startAngle < 10) {
          startAngle = 0;
        }
        else {
          startAngle -= 10;
        }
        break;
      case UP:
        if (arcAngle > 350) {
          arcAngle = 0;
        }
        else {
          arcAngle += 10;
        }
        break;
      case DOWN:
        if (arcAngle < 10) {
          arcAngle = 0;
        }
        else {
          arcAngle -= 10;
        }
        break;
      default:
        return;
    }
    render(g, startAngle, arcAngle);
  }
}

⌨️ 快捷键说明

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