作者F23ko (纯洁)
看板GameDesign
标题Re: [程式] 绕着目标旋转前进的实作方法
时间Sat Jul 17 22:00:30 2010
※ 引述《yan04870449 (杨伯)》之铭言:
: 其实这个问题应该比较偏向数学
: 我想让某一个物体以旋转的方式朝着一个目标前近,
: 也就是说是绕着目标靠近的意思。
: 备注一下,这次是练习2D游戏。
Vector2 Direction( 0.f, 1.0f );
Direction.x = Direction.x * Cos(90) + Direction.y * Sin(90) ;
Direction.y =
Direction.x * -Sin(90) + Direction.y * Cos(90) ;
问题可能出在这里,X已经是新座标
: 我想到的方法是,每一个frame这个物体要移动的时候先算出与目标物的直线向量
: 然後在让这个向量旋转,上面的CODE写90度,所以应该会变成一直绕着目标物转圈
: 圈才对,可是我这样子写的结果与我的想法不一样~"~
: 因为我对数学比较不熟,尤甚是向量、矩阵这类的,上网找资料恶补才有上面的公
: 式,但是也是没有办法做出我要的效果,麻烦各位前辈指点一下>"<感恩。
看你游戏系统是怎麽设计,再去决定要怎麽处理会比较好。
其实绕圈前进可以拆解成两个部分:
一个是绕圈
一个是前进
分开处理的话弹性比较大,逻辑上也比较简单
--
我... 我一点都不糟糕啦!>///<
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.27.109.99
1F:推 yan04870449:没错耶,问题真的就是那边@@感谢你。 07/17 22:33
2F:→ Splash5:所以先算y再算x就好:p.. 07/17 23:31
3F:推 yan04870449:不行吧,先算Y会有同样的问题@@ 07/17 23:40
4F:推 ddavid:他先算y就会因为後项而造成同样问题。 07/18 00:06
5F:→ ddavid:所以还是得乖乖用一个暂存来存新值,一次算完才Update上去 07/18 00:06
6F:→ Splash5:没看到算式後面有y XD.. 07/18 00:13