TC官方合作论坛

 找回密码
 立即注册
查看: 948|回复: 14
打印 上一主题 下一主题

[已解决] 旋转的尖锥形【求角度】

[复制链接]
跳转到指定楼层
楼主
发表于 2014-8-11 20:16:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yunh96 于 2014-8-11 20:19 编辑


如上图,这个该如何识别?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

沙发
发表于 2014-8-11 20:20:57 | 只看该作者
这不是寻路吗
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2014-8-11 20:42:15 | 只看该作者

对啊
回复 支持 反对

使用道具 举报

地板
发表于 2014-8-12 08:12:14 | 只看该作者
你就不能不通过这个 寻路的话 你走几步通过几秒内移动的距离和方向来判断不行么
回复 支持 反对

使用道具 举报

5#
发表于 2014-8-12 08:14:16 | 只看该作者
  1. //先执行一次寻路操作然后调用一个写好的获取移动状态的函数 再根据返回值进行下一步执行判断
  2. //获取移动状态,5秒内的移动距离和方向
  3. function getMoveState(i)
  4.     old = DAL.getCoor(i)
  5.     help.sleep(5000)
  6.     new = DAL.getCoor(i)
  7.     if(old==new)
  8.         jcfz.print("获取移动状态:5秒内未移动")
  9.         return "0|0"
  10.     endif
  11.     var rx,ry,l,Angle,direction
  12.     rx=jcfz.getArrResult(new,0)-jcfz.getArrResult(old,0)
  13.     ry=jcfz.getArrResult(new,1)-jcfz.getArrResult(old,1)
  14.     l=type.cint(math.sqrt(rx*rx+ry*ry))
  15.     if(ry==0)
  16.         if(rx>0)
  17.             Angle=90
  18.         else
  19.             Angle=270
  20.         endif
  21.     else
  22.         Angle=type.cint(math.atan(math.abs(rx/ry))*180/3.14)
  23.         if((rx>=0)&&(ry>0))
  24.             Angle=Angle
  25.         endif
  26.         if((rx>=0)&&(ry<0))
  27.             Angle=180-Angle
  28.         endif
  29.         if((rx<0)&&(ry<0))
  30.             Angle=180+Angle
  31.         endif
  32.         if((rx<0)&&(ry>0))
  33.             Angle=360-Angle
  34.         endif
  35.     endif
  36.     if(Angle==0)
  37.         direction="正北方向"
  38.     else
  39.         if(Angle<90)
  40.             direction="北偏东"&(Angle%90)&"°"
  41.         else
  42.             if(Angle==90)
  43.                 direction="正东方向"
  44.             else
  45.                 if(Angle<180)
  46.                     direction="南偏东"&(Angle%90)&"°"
  47.                 else
  48.                     if(Angle==180)
  49.                         direction="正南方向"
  50.                     else
  51.                         if(Angle<270)
  52.                             direction="南偏西"&(Angle%90)&"°"
  53.                         else
  54.                             if(Angle==270)
  55.                                 direction="正西方向"
  56.                             else
  57.                                 if(Angle<360)
  58.                                     direction="北偏西"&(Angle%90)&"°"
  59.                                 endif
  60.                             endif
  61.                         endif
  62.                     endif
  63.                 endif
  64.             endif
  65.         endif
  66.     endif
  67.     jcfz.print("获取移动状态:5秒内向"&direction&"移动"&l&"米")
  68.     return Angle&"|"&l
  69. endfunction
复制代码
回复 支持 反对

使用道具 举报

6#
发表于 2014-8-12 08:44:22 | 只看该作者

学习一下.
回复

使用道具 举报

7#
发表于 2014-8-12 08:45:16 | 只看该作者

学习一下.
回复

使用道具 举报

8#
 楼主| 发表于 2014-8-12 22:43:59 | 只看该作者
q273814 发表于 2014-8-12 08:12
你就不能不通过这个 寻路的话 你走几步通过几秒内移动的距离和方向来判断不行么 ...

不可能的机器无法判断自己面对的方向是哪里,如果单靠延时这个靠不住容易出问题
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2014-8-12 22:51:03 | 只看该作者
本帖最后由 yunh96 于 2014-8-12 22:54 编辑

另外请问下,你这个代码有使用什么插件吗?关键部分看不懂
回复 支持 反对

使用道具 举报

10#
发表于 2014-8-13 08:41:16 | 只看该作者
yunh96 发表于 2014-8-12 22:51
另外请问下,你这个代码有使用什么插件吗?关键部分看不懂

呃 你游戏里小地图有坐标没
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-26 02:19 , Processed in 0.144849 second(s), 24 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表