为Asha 303创建景观游戏画布

时间:2012-06-06 23:36:45

标签: java-me midp-2.0 series-40

我搜索了所有论坛赌注从未找到任何答案满足我的问题。

我想为诺基亚Asha 303制作一款横向风格的游戏,有没有办法将游戏画布旋转90度以使方向成为横向?因为我看了这段视频Angry Bird Asha 303。游戏有横向方向,所以我很好奇如何在j2me中做到这一点。

谢谢,

1 个答案:

答案 0 :(得分:5)

从MIDP 2.0开始,我们可以使用Sprite将图像旋转90度。我们需要的第一件事是正确尺寸的图像。以下代码可以在扩展Canvas的类的构造函数内部 - 考虑Sprite和Image属性:


    int width = Math.max(super.getWidth(), super.getHeight());
    int height = Math.min(super.getWidth(), super.getHeight());
    screen = Image.createImage(width, height);
    sprite = new Sprite(screen);
    if (super.getWidth() < super.getHeight()) { // portrait screen
        sprite.setTransform(Sprite.TRANS_ROT90);
        sprite.setPosition(0, 0);
    }

在绘制内容时使用可变图像图形,然后使用像下面的图像更新精灵。


    protected void paint(Graphics g1) {
        Graphics g = screen.getGraphics();
        // ... do your drawing
        this.sprite.setImage(screen, screen.getWidth(), screen.getHeight());
        sprite.paint(g1);
    }

如何使用手机显示屏上最大的区域?
。不要在画布上设置标题
。不要将命令添加到Canvas
。在调用super.getWidth()和super.getHeight()之前调用setFullScreenMode(true)

来自http://smallandadaptive.blogspot.com.br/2009/08/fullscreen-landscape.html