Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery.animate()更改游戏角色的面对面位置_Javascript_Jquery - Fatal编程技术网

Javascript jQuery.animate()更改游戏角色的面对面位置

Javascript jQuery.animate()更改游戏角色的面对面位置,javascript,jquery,Javascript,Jquery,我正在使用jQuery制作一个游戏,但是使用了一个简单的例子,我发现这个例子是由其他人制作的,并且是在它的基础上构建的 以下是我正在使用的示例: 我需要更改chase()函数,以便当天使追逐梦想时,我希望能够使用天使面向不同方向的不同图像。所以基本上,如果天使必须上升去捕捉梦想,它会使用天使面朝上的图像。如果向下,向左,向右,甚至倾斜,也是一样的 我希望它看起来像是一个角色(天使)在追逐梦想,因为无论梦想走到哪里,它都会面对梦想 以下是天使追逐梦想时触发的功能: function chase(

我正在使用jQuery制作一个游戏,但是使用了一个简单的例子,我发现这个例子是由其他人制作的,并且是在它的基础上构建的

以下是我正在使用的示例:

我需要更改chase()函数,以便当天使追逐梦想时,我希望能够使用天使面向不同方向的不同图像。所以基本上,如果天使必须上升去捕捉梦想,它会使用天使面朝上的图像。如果向下,向左,向右,甚至倾斜,也是一样的

我希望它看起来像是一个角色(天使)在追逐梦想,因为无论梦想走到哪里,它都会面对梦想

以下是天使追逐梦想时触发的功能:

 function chase(x, y, dream) {
    //angel gets the dream 
    angel.animate({
        top: y,
        left: x 
    }, 1000, function () {
        //explode the dream
        explode(x, y, dream);
        //you lose
        lose();
    });
} 
这个例子没有错。我只需要添加能够旋转角色(天使)的功能,并使其朝向追逐梦想时移动的方向。(请看我提供的示例链接。我需要修改该示例以执行上面解释的操作)

我已经试着做了一段时间了,但是没有成功。希望有人能帮忙


谢谢

我建议有多张天使朝不同方向看的图像,并根据她在屏幕上的方向显示合适的图像(你必须确定这一逻辑)


我不认为我会使用jquery来制作游戏。使用Javascript本身。您的代码将更快、更高效。@cbracer如果OP在优化代码方面与jQuery维护人员一样出色,那么这就是事实。无论如何,这里的问题一点也不清楚。什么有效/无效?代码的哪一部分导致了问题?@cbracer这根本不是真的,需要更多的编码。代码没有问题。我简单地使用了我提供的示例并添加了功能,这样角色(天使)在追逐梦想时会旋转并面向梦想。因此,我将有多个面向不同方向的角色(天使)图像,并希望根据角色(天使)的方向更改图像moves@TerryR如果你知道你在用Javascript做什么,我很难相信这一点,因为jQuery本身只是Javascript的包装器。因此,根据定义,使用jQuery会增加程序的开销。作为开发人员,您可能需要编写更少的代码,但可能需要更多的javascript,因为您使用的是jQuery。是的,我知道我必须使用类似的逻辑,但在游戏中实现该逻辑时遇到了困难。我似乎不知道如何在游戏中实现这种逻辑。比如
if(parseInt(dream.css('left'))
。没有JSFIDLE中的工作示例或其他东西,编写工作代码太难了。好吧,您所说的一切都是完美的场景。现在,当角色(天使)必须向东北或西南移动时,同样的逻辑是如何工作的呢?我认为这是相当明显的,但给你指出了正确的方向:如果
N=(angel.top
E=(angel.left
那么
NE=N&E
非常感谢。你真的澄清了我要怎么做。再次感谢:)
function chase(x, y, dream) {
    // if angel is going left load the "looking left" image
    //     angel.attr('src', 'angel_left.gif');

    // if angel is going right load the "looking right" image
    //     angel.attr('src', 'angel_right.gif');

    //angel gets the dream 
    angel.animate({
        top: y,
        left: x 
    }, 1000, function () {
        //explode the dream
        explode(x, y, dream);
        //you lose
        lose();
    });
}