程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了移相器中的寻路动画大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决移相器中的寻路动画?

开发过程中遇到移相器中的寻路动画的问题如何解决?下面主要结合日常开发的经验,给出你关于移相器中的寻路动画的解决方法建议,希望对你解决移相器中的寻路动画有所启发或帮助;

所以,我是第一次在 Phaser 中开发一款小游戏。

想法是使用寻路(使用easystar.Js)在地牢中移动角色。

我使用本教程的源代码作为快速入门: https://www.dynetisgames.com/2018/03/06/pathfinding-easystar-phaser-3/

此处 Pathfinding 运行良好,但角色一直处于空闲状态,根本没有动画; 所以我用 4 路行走动画创建了这个精灵:

移相器中的寻路动画

这个想法是附加到每个补间,easystar 使用它来创建要遵循的路径,正确的动画,基于精灵相对于每个补间的位置;像这样:

将动画附加到每个补间:

Game.moveCharacter = function(path){
    // Sets up a List of tweens,one for each tile to walk,that will be chained by the timeline
    var tweens = [];
    for(var i = 0; i < path.length-1; i++){

        var ex = path[i+1].x;
        var ey = path[i+1].y;
        tweens.push({
            targets: Game.player,x: {value: ex*Game.map.tileWIDth,duration: 200},y: {value: ey*Game.map.tileHeight,onupdate: animatePath(ex*Game.map.tileWIDth,ey*Game.map.tileHeight)           
        });                              
    }
    
    Game.scene.tweens.timeline({
        tweens: tweens,onComplete: stopAnimation
    });
};

选择正确动画的功能:

function animatePath(x,y)
{
    if(y < playerposy)
    {
        playerposy -= 32;
        console.log("up");
        Game.player.anims.play('up',truE);
    }
    else if(y > playerposy)
    {
        playerposy += 32;
        console.log("down");
        Game.player.anims.play('down',truE);
    }               
    else if(x < playerposx)
    {
        playerposx -= 32;
        console.log("left");
        Game.player.anims.play('left',truE);
    }
    else if (x > playerposx)
    {
        playerposx += 32;
        console.log("right");
        Game.player.anims.play('right',truE);
    }  
}

其中“32”是每个图块的尺寸。

角色到达后停止动画的功能:

function stopAnimation()
{
    Game.player.anims.stop(null,truE);
}

读取日志,路径似乎被正确读取。 问题是:唯一显示的动画是最后一个补间动画,好像它覆盖了所有其他动画。 如何强制显示所有动画?

这是正在发生的事情的视频

https://www.youtube.com/watch?v=z6IUzv4BJG8&ab_chAnnel=FrancescoPeruzzi

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的移相器中的寻路动画全部内容,希望文章能够帮你解决移相器中的寻路动画所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: