如何在j2me游戏中实现触摸(Menuscreen)

时间:2011-08-09 07:30:23

标签: java-me touch

我在没有触摸的情况下开发了j2me游戏。现在我想在我的游戏中实现触控。我在游戏中使用了pointerPressedpointerRealesed。我在menuscreen中绘制字符串(start,highscore,about,exit)。如何在菜单屏幕中实现触摸。

当我触摸该开始时,游戏将开始。有什么例子吗?

我使用poiterPressed(x,y)位置作为开始,高分。它是正确的方法吗?

例如:

protected void pointerPressed(int x, int y) {

    System.out.println("The value of x and y is "+x+"----"+y);

    if((x>86&&y<150))
    {
        state=STATE_Game;

    }      

if(x>187&&y<10)

    {

        state=Highscore;

    }

1 个答案:

答案 0 :(得分:3)

触摸处理事件存在于javax.microedition.lcdui.Canvas package.中:

  • <强> hasPointerEvents()

    返回:boolean

    描述:如果设备支持触摸屏输入,则返回true。

  • <强> hasPointerMotionEvents()

    返回:boolean

    描述:如果设备支持检测按下,释放和拖动事件,则返回true。

  • pointerPressed(int x,int y)

    返回:void

    描述:触发按下事件时调用。 x和y变量将包含按下的位置的坐标。

  • pointerReleased(int x,int y)

    返回:void

    描述:与pointerPressed()类似,不同之处在于当手写笔/手指从屏幕上释放时会调用它。

  • <强> PointerDragged()

    返回:void

    描述:响应拖拽事件而调用

(严格来说,这些不是触摸屏事件。它们可能与任何类型的基于指针的输入相关,如鼠标或轨迹球。但是,我只看到它们在触摸屏设备上受支持。)

您不需要特定的JSR。这些功能是MIDP-1.0及更高版本的标准功能。由于它们存在于所有MIDP设备上,因此您不需要应用程序的特定“触摸”版本。

看一些例子,

How scroll an image?

Coding Touchscreen Scrolling in Java ME