- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个程序,如果用户按住向左或向右箭头键, Angular 色会逐渐朝那个方向加速,并最终达到最大速度。松开按键后, Angular 色逐渐减速,直至完全停止。
我的右方向键没问题,但左方向键坏了。我的左箭头键可以很好地加速,但是当释放该键时, Angular 色只会直接回到按下左键之前开始的位置。(可能比开始的地方更远一点)
我确实知道为什么会这样,但我试图修复它(未成功)并且我不想进一步填充我的程序。
这是我的代码:
var maxSpeed = 15;
var xForce = 0;
var kingXPos = 10;
var kingYPos = 200;
var draw = function () {
background(255, 0, 0);
image(getImage("creatures/Winston"), kingXPos, kingYPos, 50, 50);
if (keyIsPressed && keyCode === RIGHT) {
kingXPos = kingXPos + xForce;
xForce = xForce + 0.1;
if (xForce >= maxSpeed && keyIsPressed) {
xForce = maxSpeed;
}
}
if (keyIsPressed && keyCode === LEFT) {
kingXPos = kingXPos - xForce;
xForce = xForce + 0.1;
if (xForce <= -maxSpeed && keyIsPressed) {
xForce = -maxSpeed;
}
}
if (!keyIsPressed) {
if (xForce > 0) {
kingXPos = kingXPos + xForce;
xForce = xForce - 0.1;
}
}
};
此代码已损坏,因为当我释放左键时,我的 !keyIsPressed if 语句仍然为真,并且 xForce 仍在变小。我只是不知道如何解决这个问题。
最佳答案
您有一个 xForce
变量,在某些情况下它的方向为 +/-
而在其他情况下没有方向。这就是问题所在。
如果您不想跟踪力的方向,您应该注意 xForce
符号(无论它是否大于零)。
这可能有效:
if (keyIsPressed && keyCode === RIGHT) {
kingXPos = kingXPos + xForce;
xForce = xForce + 0.1;
if (xForce >= maxSpeed && keyIsPressed) {
xForce = maxSpeed;
}
}
if (keyIsPressed && keyCode === LEFT) {
kingXPos = kingXPos + xForce;
xForce = xForce - 0.1;
if (xForce <= -maxSpeed && keyIsPressed) {
xForce = -maxSpeed;
}
}
if (!keyIsPressed) {
kingXPos = kingXPos + xForce;
if (xForce > 0) {
xForce = xForce - 0.1;
} else if(xForce < 0) {
xForce = xForce + 0.1;
}
}
请注意,使用这段代码,如果对象正在朝一个方向移动,而您改变了方向,它首先会朝那个方向减速,然后开始朝相反的方向移动。
关于javascript逐渐减速(左),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38177284/
我想要一个可以逐渐将页面底部的不透明度从 0 更改为 1 的函数。 我在元素的顶部使用了类似的功能,但我使用的不是淡入,而是淡出。创建它相当容易,但在页面底部使用设置的阈值淡入是一场噩梦。 经过研究,
li 状态是关闭和打开。 闭合:颜色为黑色(没有光照,相互折叠)。 打开:颜色为红色(有光,全视野)。 我希望颜色从两个元素之间的点开始淡化,以表明阴影从轴心开始,直到它们关闭。 $('button'
我的问题很简单: 1)我有一个扩展 JFrame 的主类。 2)该类内部有一个 JPanel,其顶部有一个 BufferedImage。 3)最后还有一个 JButton,我称之为“Fire”..这就
我有这个立方体,我想在延迟 3000 后将其转换为不同的 X 和 Y 点。我无法理解如何在 jQuery 的帮助下做到这一点。这是一个JS Fiddle .下面是代码。 JS // code for
我们如何向背景图像添加黑色阴影,阴影从不透明度 1 开始逐渐降低到不透明度 0,在图像的所有 4 个边上? (至少 50 像素值的“降低阴影不透明度”。box-shadow 仅提供少量不透明度逐渐下降
我是一名优秀的程序员,十分优秀!