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

📄 xinxiancanvas.java~34~

📁 在手机上绘制心状图形使用数学中的笛卡尔公式
💻 JAVA~34~
字号:
import javax.microedition.lcdui.*;
import javax.microedition.media.*;
import java.io.*;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class XinXianCanvas extends Canvas implements Runnable {
    public XinXianMIDlet xinxianMIDlet;
    private int cyclesThisSecond = 0;
    private long lastCPSTime = 0;
    Font font = Font.getDefaultFont();
    byte mian;
    private static final int MAX_CPS = 50;
    private static final int MS_PER_FRAME = 1000 / MAX_CPS;
    private boolean isPaused;
    private boolean isStopped;
    int Width, Height;
    final int key_UP = -1;
    final int key_DOWN = -6;
    final int key_LEFT = -2;
    final int key_RIGHT = -5;
    final int key_NUM0 = 48;
    final int key_NUM1 = 49;
    final int key_NUM2 = 50;
    final int key_NUM3 = 51;
    final int key_NUM4 = 52;
    final int key_NUM5 = 53;
    final int key_NUM6 = 54;
    final int key_NUM7 = 55;
    final int key_NUM8 = 56;
    final int key_NUM9 = 57;
    final int key_SOFTKEY1 = -21;
    final int key_SOFTKEY2 = -22;
    final int key_SOFTKEY3 = -20;
    Image offScreen;
    Graphics drawOffScreen;
    int s;
    public XinXianCanvas(XinXianMIDlet xinxianMIDlet) {
       setFullScreenMode(true);
        Width = getWidth();
        Height = getHeight();
        int jiaodu = 360;
        this.xinxianMIDlet = xinxianMIDlet;
        Thread t = new Thread(this);
        t.start();
        font = Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_PLAIN,
                            Font.SIZE_SMALL);
        try {
            offScreen = Image.createImage(Width, Height);
            drawOffScreen = offScreen.getGraphics();
            drawOffScreen.setColor(0);
            drawOffScreen.fillRect(0, 0, Width, Height);
            drawOffScreen.setColor(255,255,255);
            int i, j;
            double x, y, r;
            for (i = 0; i <= 90; i++) {
                for (j = 0; j <= 90; j++) {
                    r = Math.PI / 45 * i * (1 - Math.sin(Math.PI / 45 * j)) *
                        18;
                    x = r * Math.cos(Math.PI / 45 * j) *
                        Math.sin(Math.PI / 45 * i) + Width / 2;
                    y = -r * Math.sin(Math.PI / 45 * j) + Height / 4;
                    drawOffScreen.fillArc((int) x, (int) y - 20, 1, 1, 0,
                                          jiaodu);
                }
            }
        } catch (Exception e) {

        }
    }

    void doStartApp() {
        mian = 1;
    }

    void doPauseApp() {

    }


    public void run() {
        while (!isStopped) {
            long cycleStarTime = System.currentTimeMillis();
            if (System.currentTimeMillis() - lastCPSTime > 100) {
                lastCPSTime = System.currentTimeMillis();
                Update();
                repaint();
                cyclesThisSecond = 0;
            } else {
                cyclesThisSecond++;
            }
            long tineSinceStart = (cycleStarTime - System.currentTimeMillis());
            if (tineSinceStart < MS_PER_FRAME) {
                try {
                    Thread.sleep(MS_PER_FRAME - tineSinceStart);
                } catch (InterruptedException e) {
                }
            }
        }
    }

    protected void paint(Graphics g) {
        if (mian == 1) {
            g.drawImage(offScreen, 0, 0, g.TOP | g.LEFT);
        }
    }


    public void Update() {
    }

    public void keyPressed(int keyCode) {

    }
    protected void pointerPressed(int x, int y) {
        if (x > (Width - 40) && y > (Height - 20)) {
              s++;
           //   System.out.println("s="+s);
              }
              if (x < (Width - 40) && y > (Height - 20)) {
                               xinxianMIDlet.doExit();
              }

    }
    protected void pointerReleassed(int x,int y){
        if (x > (Width - 40) && y > (Height - 20)) {
           xinxianMIDlet.doExit();
           }
    }

}

⌨️ 快捷键说明

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