J2ME游戏开发的高级优化技巧 | |||||
---|---|---|---|---|---|
http://games.sina.com.cn 2006-10-11 10:21 eNet硅谷动力 | |||||
如何优化? 知道了在那里优化,但如何进行优化呢?我们知道大部分的运算时间被花在了绘图函数上,J2ME已经为我们提供了这些函数,我们没有办法对这些函数的内部进行优化,但是我们仍然有选择权。下面我们来对J2ME提供给我们的绘图函数作一测试。
在Canvas类里添加测试代码如下: protected void paint(Graphics g) { TestPaint(g); } void TestPaint(Graphics g) { setClip(g); setColor(g); m_font = getFont(); setFont(g); drawString(g); drawRect(g); fillRect(g); drawImage(g); drawRegion(g); drawArc(g); drawChar(g); drawLine(g); drawRoundRect(g); fillArc(g); fillRoundRect(g); } void setColor(Graphics g) { g.setColor(0); } void drawArc(Graphics g) { g.drawArc(0, 0, 100, 100, 4, 4); } void drawChar(Graphics g) { g.drawChar('你', 0, 0, GE.TOPLEFT); } void drawRoundRect(Graphics g) { g.drawRoundRect(0, 0, 100, 100, 4, 4); } void fillRoundRect(Graphics g) { g.fillRoundRect(0, 0, 100, 100, 4, 4); } void fillArc(Graphics g) { g.fillArc(0, 0, 100, 100, 4, 4); } void drawLine(Graphics g) { g.drawLine(0, 0, 100, 100); } Font getFont() { return Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL); } void setFont(Graphics g) { g.setFont(m_font); } void drawString(Graphics g) { g.drawString("你好", 0, 0, GE.TOPLEFT); } void drawRect(Graphics g) { g.drawRect(0, 0, 100, 100); } void setClip(Graphics g) { g.setClip(0, 0, 300, 300); } void fillRect(Graphics g) { g.fillRect(100, 0, 100, 100); } void drawImage(Graphics g) { g.drawImage(GE.m_images[GRes.PNG_MAP], 0, 100, GE.TOPLEFT); } void drawRegion(Graphics g) { g.drawRegion(GE.m_images[GRes.PNG_MAP], 0, 0, 100, 100, Sprite.TRANS_MIRROR,100, 100, GE.TOPLEFT); } 编辑:lolo | |||||