作者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)