怎么能实现预放置的功能?



  • 问题就在与我不知道该怎么设置判定



  • @落水桃子 你的障碍物生成规则和流程你总该知道吧



  • 规则是点击屏幕获取点击的坐标,Tilemap获得点击坐标后把坐标定位到Tilemap的中心点


    原来我是想让a精灵每帧执行找到终点(和b精灵的终点相同),然后生成一个a精灵视为障碍的A方块(b精灵不视该方块为障碍),当a精灵寻路成功时可以在该方块上放置一B个方块(b精灵视为障碍,a精灵视为障碍),当a精灵找不到路时不能在该方块放置B方块

    但是弄好后才发现a和b这两个精灵障碍都是一样的(A和B对哪个都生效)

    然后就想不到其他好办法了






  • @落水桃子 也就是你的预先想法是:点击之后屏幕之后,就会直接判断这个格子的位置是否在可通行路径上并生成障碍物的意思是吗?还是说要确保放置完障碍物之后,路径依旧是可通行的才是正确的?
    目前我对你的描述的理解是下面这样的步骤:
    点击屏幕→根据点击的坐标点找到tilemap最近的一个网格中心点→在该中心点创建一个判断用的障碍块A→自动寻路对象执行到终点的寻路动作→分歧1和分歧2
    分歧1:如果寻路成功→在刚生成的障碍块A上创建一个实质性的真正会存在的障碍块B,并且销毁这个判断用的障碍块A
    分歧2:如果寻路失败→直接销毁刚生成的障碍块A,并提示无法放置
    如果我上面这个理解符合你的想法的话,那这些逻辑都是有对应的条件可以达成的啊🤔,对单个对象的寻路是完全做得到的 ,所以这里唯一我还理解不了的点是你分了a和b两种精灵(或者说两种自动寻路对象),这两个精灵是同一个对象的不同实例?或者说分成ab两种精灵是有什么设计意图吗?从你最后的描述来看反倒像是因为分了两种精灵才完成不了上面的逻辑的样子



  • 因为如果b精灵寻不到路的瞬间会停下来,所以想先设a精灵来判断寻路成功还是失败



  • @落水桃子 所以b精灵是实际存在的人物或角色,而a精灵只是你拿来作为逻辑判断用的吗?那应该跟上面你所说的流程是不矛盾的啊,而且你还是没回答我的理解描述是否跟你的想法是契合的,所以我不太清楚我说的这个逻辑做下来是不是你想要的效果,如果是契合的,我看看能不能写个范例,别写完了又不契合,就有点浪费精力了



  • 想法契合的,就是你理解的意思。
    逻辑能完成这个功能就行



  • @落水桃子 看看是不是下面这个效果:
    如果生成障碍物的格子位置会堵住角色从当前位置去到终点的话,就会提示无法放置,如果不会,则顺利生成,这个逻辑不管角色是否处于移动状态都生效。
    undefined
    如果是上面这个效果的话,事件表和舞台情况是下面这样的,两个障碍物的能力都是刚体:
    undefined
    undefined





  • @震惊跌丝袜 有点思路了


登录后回复