欢迎所有正在阅读这篇文章的人 在尝试制作马里奥类型的游戏但我有一些碰撞bug 也许有人可以向我解释什么是不正确的以及如何解决它
那里的碰撞部分是硬编码值 我不能正确地跳到盒子上很难解释它是不是很难缓存js小提琴链接!
控制箭头的空间跳跃问题是跳跃 游戏逻辑
setNames(
do.call(rbind, c(make.row.names = F,
tapply(c$pr, c$or, FUN = function(v) subset(expand.grid(v, v), Var1 != Var2)))),
c('first', 'second'))
# first second
#1 b a
#2 c a
#3 a b
#4 c b
#5 a c
#6 b c
#7 x w
#8 w x
这里虽然是一个完整的代码,可以在js小提琴上查看或播放它 js fiddle
答案 0 :(得分:1)
你的功能说:
function crashwith(otherobj){}
但在你内心说
othertop=box.y;
你没有检查英雄是否与传递的对象崩溃,但是有一个盒子。这不是我认为功能应该做的。我想你想要:
othertop=otherobj.y;
此外,您的崩溃功能必须
if ((mybottom < othertop) ||
(mytop > otherbottom) ||
(myright < otherleft) ||
(myleft > otherright)) {
Alert("crash");
}
你的逻辑是另一回事
答案 1 :(得分:0)
现在我尝试这样的事情
if(myright >= otherleft && mybottom > othertop &&myleft < otherright){
console.log("R______")
hero.X = otherleft - hero.width
}
if(myleft <= otherright && mybottom > othertop && myright > otherleft){
console.log("L______")
hero.X = otherleft + hero.width
}
答案 2 :(得分:0)
我如何理解我不需要这部分
if ((mybottom < othertop) ||
(mytop > otherbottom) ||
(myright < otherleft) ||
(myleft > otherright)) {
crash = false;