zoukankan      html  css  js  c++  java
  • J2ME游戏开发之GameCanvas构造类

     
    package com.slinw.gamecanvas;
    
    import javax.microedition.lcdui.Graphics;
    import javax.microedition.lcdui.game.GameCanvas;
    
    
    public abstract class RootGameCanvas extends GameCanvas implements Runnable{
    
            private Graphics g = null;
            private boolean isPlay; // Game Loop runs when isPlay is true
            private long delay; // To give thread consistency
         
            // Constructor and initialization
            public RootGameCanvas() {
                super(true);
                delay = 200;
                g = getGraphics();
            }
         
            // Automatically start thread for game loop
            public void start() {
                isPlay = true;
                new Thread(this).start();
            }
         
            public void stop() {
                isPlay = false;
            }
         
            // Main Game Loop
            public void run() {
                while (isPlay) {
                    keyEventInput();
                    drawScreen(g);
                    try {
                        Thread.sleep(delay);
                    } catch (InterruptedException ie) {}
                }
            }
         
            
            
            // Method to Handle User Inputs
            public void keyEventInput(){
                int key = getKeyStates();
                if((key & LEFT_PRESSED) != 0){
                    keyLeftPressedEvent();
                }
                
                if((key & RIGHT_PRESSED) != 0){
                    keyRightPressedEvent();
                }
                
                if((key & UP_PRESSED) != 0){
                    keyUpPressedEvent();
                }
                
                if((key & DOWN_PRESSED) != 0){
                    keyDownPressedEvent();
                }
            }
         
            
            // Method to Display Graphics
            public abstract void drawScreen(Graphics g);
            
            
            public abstract void keyLeftPressedEvent();
            
            public abstract void keyRightPressedEvent();
            
            public abstract void keyUpPressedEvent();
            
            public abstract void keyDownPressedEvent();
        }
    
  • 相关阅读:
    转 W P 代码淆混
    Flash网页游戏辅助工具制作简析
    Flash Player安全沙漏规则
    用loader.loadbytes直接load bitmapdata.getpixels产生的bytearray
    游戏及开发人员的认识
    一犯人在执行死刑前三天供出祖传治癌奇方(转)
    AIR教程列表
    养生名言 (春、夏、秋、冬。)
    十天学会单片机和C语言编程
    UI设计规范收藏
  • 原文地址:https://www.cnblogs.com/zhangweia/p/2145910.html
Copyright © 2011-2022 走看看