国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

實現游戲中的文字滾屏功能

2019-11-18 14:50:32
字體:
來源:轉載
供稿:網友

    在游戲開發的時候,我們可能會需要制作文字滾屏的效果。比如一行文字從屏幕下部滾動到屏幕的中間,在J2ME中我們可以借助Canvas類以及Timer類來完成類似的效果。

    在J2ME的高級的圖形用戶界面API中并沒有提供類似滾屏的效果,因此我們需要自己通過Canvas類來實現,我們應該在Canvas類的paint()的方法中繪制我們要滾動的文字,基本代碼如下所示:
    PRotected void paint(Graphics arg0)
    {
        int oldColor = arg0.getColor();
        arg0.setColor(255, 255, 255);
        arg0.fillRect(0, 0, width, height);
        arg0.setColor(oldColor);
        arg0.drawString(welcome, left, i, Graphics.LEFT Graphics.TOP);

    }
當我們初始化一個Canvas的子類的時候,paint()方法將被調用,我們需要它定時得往上滾動,因此我們可以借助Timer和TimerTask類,我們在TimerTask類中通過實現public void run()方法來對文字的y坐標減小一定的數值。當文字到達屏幕的中間的時候停止減少并停止timer。在這里我是實現了一個內部類,當然你也可以實現成匿名內部類。
   private class ScrollTask extends TimerTask
    {
        public void run()
        {
           
            if (i > height / 2)
            {
                i = i - fontHeight;
                repaint();
            } else
            {
                going = false;
                timer.cancel();
            }

        }
    }
我們的WelcomeCanvas類擴展Canvas并實現它的paint()方法,在WelcomeCanvas的構造器中我們把display和下一個Displayable的對象傳給他,并在其中完成一些具體尺寸的計算。
    public WelcomeCanvas(Display display,Displayable disp) {
        super();
        Font font = Font.getDefaultFont();
        left = (width - font.stringWidth(welcome))/2;
        fontHeight = font.getHeight();
        this.display = display;
        this.next = disp;
        ScrollTask st = new ScrollTask();
        timer.schedule(st, 100, 100);
               
    }
當文字滾動到中間后,用戶可以通過按下任意鍵繼續操作。因此我們需要keyPressed()方法,假如是觸摸屏的話你可以用pointerPressed()方法實現。
    public void keyPressed(int keyCode)
    {
        if(!going)
        display.setCurrent(next);
    }
下圖是程序運行的結果,并給出源代碼。其實很多類似的效果都可以通過這樣的方法來實現。
實現游戲中的文字滾屏功能



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 芒康县| 珠海市| 红桥区| 灵武市| 乌什县| 萝北县| 大兴区| 五大连池市| 甘南县| 怀集县| 西乡县| 视频| 峨山| 西丰县| 怀仁县| 兴城市| 宣武区| 赤水市| 安远县| 长岭县| 泸溪县| 诏安县| 宜宾县| 汾阳市| 莱阳市| 长汀县| 平江县| 大邑县| 东港市| 汽车| 高陵县| 韶山市| 富裕县| 华阴市| 崇仁县| 潞西市| 呼和浩特市| 洛隆县| 独山县| 梓潼县| 郓城县|