- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图让我的角色左右移动,然后当你将手指从左或右箭头键上移开时停止,但不断发生的事情是他继续前进。这是我的按键:
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();//getting keycodes
if (bInGame) {
if (key == KeyEvent.VK_LEFT) {
nReqdx = -1;
nReqdy = 0;
}
} else if (key == KeyEvent.VK_RIGHT) {
nReqdx = 1;
nReqdy = 0;
}
} else if (key == KeyEvent.VK_SPACE) {//Interaction
//Yet to be filled
} else if (key == KeyEvent.VK_ESCAPE && tTimer.isRunning()) {
bInGame = false;
} else if (key == KeyEvent.VK_PAUSE) {
if (tTimer.isRunning()) {
tTimer.stop();
} else {
tTimer.start();
}
}
} else {
if (key == 's' || key == 'S') {
bInGame = true;
GameRun();
}
}
}
这是我的 key 发布:
public void keyReleased(KeyEvent e) {
int key = e.getKeyCode();
if (key == Event.LEFT || key == Event.RIGHT) {
bMoving = false;
if (bMoving == false) {
nReqdx = 0;
nReqdy = 0;
nCurrentSpeed = 0;
}
}
}
我发现它永远不会达到 key 释放,我想,但我不知道为什么。另外,不要要求我发布所有代码,因为我大约有 450 行,只需要求我发布声明变量的位置或类似内容(如果您需要更多信息来找出问题所在)。
我现在想知道我的角色是否会继续前进,因为他是动画的,也许他的设定图像一直导致他继续前进。
这是他动画的地方。
public void DoAnimation() {
nAstroImgCount--;
if (nAstroImgCount <= 0) {
nAstroImgCount = nASTROIMGDELAY;
nAstroAnimPos = nAstroAnimPos + nAstroImgDir;
if (nAstroAnimPos == (nASTROANIMIMGCOUNT - 1) || nAstroAnimPos == 0) {
nAstroImgDir = -nAstroImgDir;
}
}
}
public void DrawAstronaut(Graphics2D g2d) {
if (nViewDX == -1) {
DrawAstronautLeft(g2d);
} else if (nViewDX == 1) {
DrawAstronautRight(g2d);
} else {
DrawAstronautStand(g2d);
}
}
public void DrawAstronautLeft(Graphics2D g2d) {
switch (nAstroAnimPos) {
case 1:
g2d.drawImage(imgAstroWalkLeft1, nAstronautX + 1, nAstronautY + 1, this);
break;
case 2:
g2d.drawImage(imgAstroWalkLeft2, nAstronautX + 1, nAstronautY + 1, this);
break;
case 3:
g2d.drawImage(imgAstroWalkLeft3, nAstronautX + 1, nAstronautY + 1, this);
break;
case 4:
g2d.drawImage(imgAstroWalkLeft4, nAstronautX + 1, nAstronautY + 1, this);
break;
case 5:
g2d.drawImage(imgAstroWalkLeft5, nAstronautX + 1, nAstronautY + 1, this);
break;
case 6:
g2d.drawImage(imgAstroWalkLeft6, nAstronautX + 1, nAstronautY + 1, this);
break;
default://default of him standing still
g2d.drawImage(imgAstroStandLeft, nAstronautX + 1, nAstronautY + 1, this);
break;
}
}
public void DrawAstronautRight(Graphics2D g2d) {//Same as the left but right
switch (nAstroAnimPos) {
case 1:
g2d.drawImage(imgAstroWalkRight1, nAstronautX + 1, nAstronautY + 1, this);
break;
case 2:
g2d.drawImage(imgAstroWalkRight2, nAstronautX + 1, nAstronautY + 1, this);
break;
case 3:
g2d.drawImage(imgAstroWalkRight3, nAstronautX + 1, nAstronautY + 1, this);
break;
case 4:
g2d.drawImage(imgAstroWalkRight4, nAstronautX + 1, nAstronautY + 1, this);
break;
case 5:
g2d.drawImage(imgAstroWalkRight5, nAstronautX + 1, nAstronautY + 1, this);
break;
case 6:
g2d.drawImage(imgAstroWalkRight6, nAstronautX + 1, nAstronautY + 1, this);
break;
default:
g2d.drawImage(imgAstroStandRight, nAstronautX + 1, nAstronautY + 1, this);
break;
}
}
我的意思是他会继续前进,因为他的动画永远不会停止。想知道是否有人可以证实这一点。
最佳答案
您正在访问两种不同类型的关键常量。一方面您使用 KeyEvent
,另一方面使用 Event
。
在KeyEvent
类中它是:
/**
* Constant for the non-numpad <b>left</b> arrow key.
* @see #VK_KP_LEFT
*/
public static final int VK_LEFT = 0x25; // = 37
在Event
类中它是:
/**
* The Left Arrow key, a non-ASCII action key.
*/
public static final int LEFT = 1006;
由于 getKeyCode()
方法从 KeyEvent
类返回常量,因此您必须在两种情况下使用 KeyEvent.VK_LEFT
常量。
关于Java KeyPressed KeyRelease 并按住某个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20521693/
我正在尝试为 Adobe After Effects 脚本编写 UI。我想添加一个功能,用户可以按住 CTRL 键单击按钮,而不是直接单击按钮而不按任何按键,以获得稍微不同的行为。 但是,问题是,
这个问题已经有答案了: Using Java's Robot to hold a key down (2 个回答) 已关闭 7 年前。 我想知道是否有什么方法可以在Java中按住一个键一段时间。问题是
案例展示: 如果点击按钮,然后按住'enter'键,按钮的点击事件会不断触发。 document.querySelector('button').addEventListener('click', f
在尝试获取时间时,我没有得到预期的值。 当我运行这个时,时间是 19:59。而在 timeDifferenceString 中,Value 为 71976.894206。我认为这是当前时间。 我计算
我想实现一个按住按钮。因此,当您按下按钮时,功能 A 将执行,而当您松开按钮时,功能 B 将执行。我找到了这个,但这不是我想要的。 UIButton Touch and Hold 我不想要任何重复的
html a visit reigel-codes.co.cc 问题 如何通过按住左键单击在 之后添加复选框?..然后在释放左键时停止添加... 到目前为止我已经尝试过 $(
有点像编程新手,制作了一个测试演示来弄清楚按键输入是如何工作的。在我开始注意到某些 key 未被注册之前,该演示看起来不错。我只是按住 q -> w -> e -> r -> t 并且 t 没有出现在
所以在模拟器上,这个菜单图标看起来像(未按下时): 当我按住它时,它周围会出现一些笔触/轮廓,如下所示: 然而,当我将应用程序放在我的 (kitkat api) 手机上时,圆形图标周围的整个正方形都会
我制作了两个片段,相同的代码,一个在 JSFiddle 中一个作为 Stack Snippet(见下文)。出于某种原因,Ctrl 键 + 拖动会产生不同的结果。 如果我按住 Ctrl 键,JSFidd
我正在做一个项目,我需要检测音量降低按钮的按下以及该键的长按。我尝试使用 onKeyDown 和 onKeyLongPress 方法。但它不起作用。我该如何解决这个问题? 最佳答案 这可以使用标志来完
我有一个Sudoku我想制作它,以便用户可以按下 Shift 键并按住它,同时使用箭头键在单元格之间上下移动。已设置的单元格为 标签与其他标签类似,但它们具有 readonly属性。每个单元格都有一个
正如问题的标题所述,当我在 iOS 中按住一个按钮时,我希望显示该按钮的标题。我该怎么做?需要一些建议.. 最佳答案 试试这个,也许它会对你有帮助... [btnName setTitle:@"You
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and t
我已经在 Red5 服务器上配置了 Red5Phone。我能够连接到 Asterisk 服务器,它工作正常。我使用 Flex 作为客户端。 Red5 和 Asterisk 在同一台服务器上。 现在我想
我想让某个方法运行并在某人的手指按下按钮时重复运行。我希望该方法在手指不再位于按钮上时停止自身重复 有没有办法检查在方法实现过程中是否仍然发生触碰?帮助! 最佳答案 您可以使用 UIControlEv
我正在开发在 Windows XP Standard 上运行的触摸屏应用程序。使用当前的硬件来调用右键单击用户必须单击并按住几秒钟,但这可能会干扰其他操作,例如在滚动查看器中按住重复按钮,因此我决定禁
当用户输入 html 输入文本时,当用户故意或错误地按下 Alt 键时,是否可以阻止浏览器显示其菜单 最佳答案 这应该适合你。 fiddle : http://jsfiddle.net/2dqCD/
在我的控制台中,我的以下脚本不仅在单击鼠标滚轮时开始记录,还在您停止按住鼠标滚轮按钮后继续记录。 var mPosX, mPosY; $(document).on('mousedown', f
按住 Shift 键时,我无法获得某些数字键盘键的正确代码。仅当数字锁定键打开时,数字键盘上的数字键和 point/del 键才会发生这种情况。 $('body').keyup(function (e
我有 10 个 div ... 我想使用 jQuery 使用点击处理程序选择其中的 5 个。 $(".myDivs").on("click", function() { console.
我是一名优秀的程序员,十分优秀!