Java 如何检测阵列
好的,那么,有没有一种有效的方法通过使用KeyListener来检测您当前在哪个阵列上 我的代码: 我在这里试图做的是查看我所在的当前磁贴是否被阻止Java 如何检测阵列,java,arrays,applet,Java,Arrays,Applet,好的,那么,有没有一种有效的方法通过使用KeyListener来检测您当前在哪个阵列上 我的代码: 我在这里试图做的是查看我所在的当前磁贴是否被阻止 谢谢。我猜您不希望每次都要遍历整个矩阵来找出用户在关键事件后使用的磁贴。为什么不保留玩家在棋盘上最后位置的状态,并在更新发生的每个关键事件时使用它呢 好的,你想知道更多关于如何做到这一点的信息,我将为你提供答案,你可以完成它: public class tileGen extends Applet implements KeyListener {
谢谢。我猜您不希望每次都要遍历整个矩阵来找出用户在关键事件后使用的磁贴。为什么不保留玩家在棋盘上最后位置的状态,并在更新发生的每个关键事件时使用它呢 好的,你想知道更多关于如何做到这一点的信息,我将为你提供答案,你可以完成它:
public class tileGen extends Applet implements KeyListener {
Image[] tiles; // tile arrays
Image player; // player image
int x, y, px, py, tx, ty; // x tile - y tile // player x - player y // tile x - tile y
boolean left, right, down, up, canMove; // is true?
int[][] board; // row tiles for ultimate mapping experience!
final int NUM_TILES = 25; // how many tiles are we implementing?
Label lx, ly; // to see where we are!
public final int BLOCKED = 1;
int lastX, int lastY; // <=== new member fields to track last X and last Y
public void keyPressed(KeyEvent e) {
// UPDATE LAST X AND LAST Y IN THIS METHOD
if (e.getKeyCode() == KeyEvent.VK_LEFT) {
left = true;
px = px - 32;
}
if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
right = true;
px = px + 32;
}
if (e.getKeyCode() == KeyEvent.VK_DOWN) {
down = true;
py = py + 32;
}
if (e.getKeyCode() == KeyEvent.VK_UP) {
up = true;
py = py - 32;
}
repaint();
}
}
公共类tileGen扩展小程序实现KeyListener{
Image[]tiles;//tile数组
图像播放器;//播放器图像
int x,y,px,py,tx,ty;//x tile-y tile//player x-player y//tile x-tile y
布尔值left、right、down、up、canMove;//是否为真?
int[][]board;//行分幅可提供终极映射体验!
final int NUM_TILES=25;//我们实现了多少个tile?
标签lx,ly;//看看我们在哪里!
公共最终整数=1;
int-lastX,int-lastY;//您可以在tileGen类中声明两个新成员字段lastX和lastY,并相应地使用它们。更新后,设置lastX和lastY,输入更新后,检查lastX和lastY的值。成员字段与int字段相同吗?但是liek我说……如何检测lastX和lastY?是的,我知道……但是我知道你知道我会怎么做吗?丹,你是在找人帮你完成这项任务吗?你的问题具体是什么?我为你概述了一个方法-我的大纲的哪一部分你不明白?我完全明白。我只是不知道如何获得他们当前的瓷砖编号。