作者yan04870449 (杨伯)
看板GameDesign
标题[程式] 如何建立一个物件不重叠的空间
时间Mon Apr 12 19:08:34 2010
这几天已经练习到要如果在我的游戏空间内建立
一个不重叠(怪物、角色等..)的环境,但是实作时遇
到一些问题,想请板上前辈指点一下。
问题是这样子的,因为我的空间里面高度的概念
(Y轴)并不是那麽必要,所以我就打算用物件与物件间
的距离来实作我的不重叠空间。确实这个想法可以达到
不重叠,但是我的物件们却会因为这样产生发抖的状况
,同侪还说他们很冷....
我有想过发生的原因,但是我却不知道怎麽解决,
我用C++的版本写一下我的概念,请板上前辈指导一下
!感谢!
//不重叠处理
for( itEnemy = 第一只;不到最後一只;++itEnemy )
{
if( itEnemy == this ) contiune;
if( itEnemy跟this距离 < 50.f )
{
向量 v2 = itEnemy->getPosition() - this->getPosition();
v2.Normalize();
itEnemy->setPosition( itEnemy->getPosition() + v2 );
this->setPosition( getPosition - itEnemy->getPosition() )
}
}
//追纵处理
setPosition( (目标座标-自己座标).Normalize() );
另外也想请教一下板上前辈们,关於这个功能的实作除了
这种方法之外,还有什麽业界或是仿间常用的处理手法可
以供小弟学习。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.117.128.56
※ 编辑: yan04870449 来自: 122.117.128.56 (04/12 19:10)