我目前正在 Code.org 的游戏实验室从事一个项目。在这个游戏中,如果物体(蜜蜂)与另一个物体碰撞,它的速度应该永久增加。有没有办法做到这一点?这是一个链接:
https://studio.code.org/projects/gamelab/bObYvRkfcSN938ptuiIyH0ZdF1de4jhaiOYZLgfTTwM/edit
这是一个代码片段:
//Making the bee
var bee = createSprite(200, 200);
//Set animation for 'bee' as bee_1
bee.setAnimation("bee_1");
//Scaling the bee tp 0.5x
bee.scale = 0.5;
var velocity = 2;
bee.velocityY = velocity;
//Making the walls
function draw() {
background("white");
createEdgeSprites();
bee.bounceOff(edges);
if (bee.isTouching(edges)) {
velocity = velocity * 1.25;
}
/*
if (keyDown("up")) {
bee.velocityX = 0;
bee.velocityY = velocity * -1;
}
else if (keyDown("down")) {
bee.velocityX = 0;
bee.velocityY = velocity;
}
else if (keyDown("right")) {
bee.velocityX = velocit;
bee.velocityY = 0;
}
else if (keyDown("left")) {
bee.velocityX = -2;
bee.velocityY = 0;
}
if (velocity>15) {
velocity = 10;
}
else if (velocity<-15) {
velocity = -10;
}*/
drawSprites();
}
不幸的是,由于我无权访问 HTML 和 CSS 代码,因此无法运行该代码段。我曾尝试使用 isTouching() 方法,但该方法仅在蜜蜂接触墙壁时才有效。我需要一种方法来做到这一点,以便当蜜蜂与任何物体碰撞时(我计划添加更多充当墙壁的精灵),该velocity
变量设置为自身的 1.25 倍。IE
if (<insert condition here>) {
velocity = velocity * 1.25;
}
我也将不胜感激有关如何改进我的代码的任何其他提示。