Re: 床との当たり判定 ( No.1 ) |
- 名前:tare 日時:2010/06/30 12:51
動かなくなります、では何が動かないのか分かりません。
状況は詳細に書きましょう
|
Re: 床との当たり判定 ( No.2 ) |
- 名前:ストン 日時:2010/06/30 15:03
すみません説明不足でした。
●●●は動作を停止しました。
と出て解決策を探そうとします。
|
Re: 床との当たり判定 ( No.3 ) |
- 名前:frost 日時:2010/06/30 17:48
/*地面との当たり判定
当たり判定を行うBall2Dの配列と要素数を与え、衝突していればTRUEを返す
*/
bool CollisionLandLines( Ball2D *ballarray, int ballnum ){
bool result = FALSE;
for(int i=0; i<g_usedline_num; i++){
for(int j=0; i<ballnum; j++){
//衝突チェック
if ( HitTestLineAndBall(g_landlines[i], *(ballarray+j)) == TRUE ){
result = TRUE;
}
}
}
return result;
}
//地面との当たり判定
BOOL ontheground = FALSE;//着地フラグ
//判定円の作成
Ball2D jikifeet[2] = {
{ {g_jikipos.x - 8, g_jikipos.y + 26} , 8},//円1({}の中は中心の座標)
{ {g_jikipos.x + 8, g_jikipos.y + 26} , 8}//円2
};
Ball2D* Pjikifeet;
Pjikifeet=&(jikifeet[0]);
bool hit = CollisionLandLines(Pjikifeet, 2);
if (hit == TRUE){
ontheground = TRUE;
g_nowjumping = FALSE;
g_jikivector.x = 0;
g_jikivector.y = 0;
}
|
Re: 床との当たり判定 ( No.4 ) |
- 名前:frost 日時:2010/06/30 17:50
連続投稿すみません。
bool CollisionLandLines( Ball2D *ballarray, int ballnum ){
bool result = FALSE;
for(int i=0; i<g_usedline_num; i++){
for(int j=0;
j<ballnum //ここはj
; j++){
//衝突チェック
if ( HitTestLineAndBall(g_landlines[i], *(ballarray+j)) == TRUE ){
result = TRUE;
}
}
}
return result;
}
//地面との当たり判定
BOOL ontheground = FALSE;//着地フラグ
//判定円の作成
Ball2D jikifeet[2] = {
{ {g_jikipos.x - 8, g_jikipos.y + 26} , 8},//円1({}の中は中心の座標)
{ {g_jikipos.x + 8, g_jikipos.y + 26} , 8}//円2
};
Ball2D* Pjikifeet;
Pjikifeet=&(jikifeet[0]);
bool hit = CollisionLandLines(Pjikifeet, 2);
if (hit == TRUE){
ontheground = TRUE;
g_nowjumping = FALSE;
g_jikivector.x = 0;
g_jikivector.y = 0;
}
|
Re: 床との当たり判定 ( No.5 ) |
- 名前:いっち 日時:2010/06/30 20:51
ストンさん>
> を加えたところ
なにのどこにどれを加えたのかがわかりません。
(おそらく「14歳・・・教室」に関する質問なのだとは思いますが)
なお、提示されているソースの範囲内では、ここが致命的におかしいという部分は見当たりませんでした。
frostさん>
レスにパスワードを設定しておけば、レスの右下のスパナのアイコンでレスを修正することが出来ます。
(frostさんのレス(No.4)は(No.3)の修正記事のようです)
|
Re: 床との当たり判定 ( No.6 ) |
- 名前:ストン 日時:2010/07/01 23:11
frostさん
このままビルドしたら永久にjの値が増えないので無限ループしますね。
iをjに直したら正常に動作しました。
ご指摘ありがとうございました。
いっちさん
すみません、分かりにくかったです。
上のソースを加えたという意味です。
そうです、14歳のやつです。
|
|