敌人朝玩家移动,碰撞问题求教 已解决
hulk 发表于 2019-03-07 11:06:09 140

见附件

最后于 10小时前 被hulk编辑 ,原因:
上传的附件:
最新回复 (8)
  • hulk 发表于 2019-03-07 11:06:39
    0 2
    /*请问:对敌人精灵设置如下代码,为什么敌人还是会穿过solid图块?没有发生任何碰撞?
    hspeed和vspedd初始数值设置多少都不行。。。求助求助
    是move_towards_point的问题么?*/
  • 顺子 发表于 2019-03-09 09:12:30
    0 3
    你move_towards_point用的速度是speed_,下面检测碰撞时修改的速度分别是hspeed_和vspeed_,跟speed_一点关系也没有啊,所以虽然检测到碰撞了,但是speed_一直都是你初始设置的值,就一直在正常执行第一行代码跑过去啊,所以你猜的没错,就是move_towards_point的问题
  • hulk 发表于 2019-03-11 02:33:36
    0 4
    顺子 你move_towards_point用的速度是speed_,下面检测碰撞时修改的速度分别是hspeed_和vspeed_,跟speed_一点关系也没有啊,所以虽然检测到碰撞了,但是speed_一直都 ...
    谢谢你的解答!那么这里我想要用move_towards_point这个函数要怎么和碰撞检测产生联系呢?
    别的大佬告诉我再第一行move_towards_point后面添加hspeed_=hspeed;hspeed=0;vspeed_=vspeed;vspeed=0;
    这样做确实可以,但是我不太理解是什么意思?hspeed和vspeed为什么还要再置0呢?
  • hulk 发表于 2019-03-11 04:48:31
    0 5
    顺子 你move_towards_point用的速度是speed_,下面检测碰撞时修改的速度分别是hspeed_和vspeed_,跟speed_一点关系也没有啊,所以虽然检测到碰撞了,但是speed_一直都 ...
    要怎么设定,才可以让敌人正常发生碰撞呢?这个原理不太明白。。。
  • 顺子 发表于 2019-03-11 06:32:26
    0 6
    hulk 要怎么设定,才可以让敌人正常发生碰撞呢?这个原理不太明白。。。
    不明白你为什么要用move_towards_point,碰撞的原理就是检测到碰撞以后把速度置为零,你下面的代码分别在判断横向和纵向的碰撞情况,一旦检测到碰撞就把对应方向的速度置为0,理论上你这里这个move_towards_point这一句完全删掉也没事吧,因为你下面已经在根据hspeed_和vspeed_单独修改x和y的坐标值了,已经有运动和碰撞处理了这一句是多余的啊
  • hulk 发表于 2019-03-12 01:54:22
    0 7
    顺子 不明白你为什么要用move_towards_point,碰撞的原理就是检测到碰撞以后把速度置为零,你下面的代码分别在判断横向和纵向的碰撞情况,一旦检测到碰撞就把对应方向的速度置为0,理论上你这里这个m ...
    步事件里我用move_towards_point是为了让敌人朝玩家飞过去,然后遇到solid障碍会碰撞,不用的话 敌人就不动了
  • 顺子 发表于 2019-03-12 02:01:03
    0 8
    hulk 步事件里我用move_towards_point是为了让敌人朝玩家飞过去,然后遇到solid障碍会碰撞,不用的话 敌人就不动了
    你是不是在看heartbeast的2d横版射击教程?先按照教程完整来一遍吧
  • hulk 发表于 2019-03-13 08:53:34
    0 9
    顺子 你是不是在看heartbeast的2d横版射击教程?先按照教程完整来一遍吧
    嗯嗯!!!真是谢谢你啦~~~感谢感谢~~~原来你是GMS手札的大佬!!!我看的就是你的翻译视频在学习,有的地方只是想尝试下其他方法哈,indienova和微信我都有关注你~~~~再次感谢大佬~请问有学习交流群什么的么?