[過去ログ] 【初心者】課題をクリアしていくスレ【講習会】 (787レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
426
(1): 名前は開発中のものです。 [sage] 04/08/01 02:10 ID:aZwyLY/F(1/2) AAS
ageられると書き込みたくなる部外者でつ

>>417
417(1): 名前は開発中のものです。 [] 04/07/24 00:39 ID:sBREqJXF(1) AAS
>>396の課題をやりますた
外部リンク[zip]:gamdev.org

計算はこんな感じでやってます
add+=g;
y+=add;
if (y>20)
{
    add=-add*0.95f;
    if (abs(add)<0.01)
    {
        g=0;
        add=0;
    }
}
g=0;って、重力加速度を変更するより接地フラグ使った方がいいとおもふよ。
あと、例えばy=20ピッタリになったりすると
次フレーム以降(abs(add)<0.01)になるまで、地面にめり込んでブルブル言うかも。
コレが出ると、addがいくら大きくても地面にピタっと張り付いちゃうから
if(y>20
20(4): 名前は開発中のものです。 [sage] 04/06/12 20:29 ID:g4kSpUbw(5/5) AAS
ツクールXPで一本作って、それを元にどんどん下に落としていくのはアリかも。
「ゲームに必要な要素」は、ツクールを解析してそれを実装することで体現できる。
)の時はy=20って修正した方が良いかもね。少し計算ずれるけど。

if(y>20)が成り立つ時addは+だって保障されてるから
if(abs(add)<0.01)のトコはif(add>-0.01)でもいいね。

あとマジックナンバーは後々苦労のタネになるから、大きいプログラム組むときは注意ね

>>421
421(2): 名前は開発中のものです。 [sage] 04/07/27 23:03 ID:iQq31bJ4(1) AAS
突っ込んでいいとこかわかんないけど
417の

add+=g;
y+=add;
if (y>20)
{
add=-add*0.95f;
if (abs(add)<0.01) // if (abs(add) > 0.01) じゃないかな・・・・減衰無しだし
{
g=0;
add=0;
}
}
そうやっちゃうとaddが十分デカイときに止まっちゃうよ
427: 名前は開発中のものです。 [sage] 04/08/01 02:58 ID:aZwyLY/F(2/2) AAS
おう、大切なことを忘れていた。
見た感じ
add=-add*0.95f;
はあまりよろしくない。>>426の2-3行目のような現象の引き金になるから。
add=-fabs(add)*0.95f;
とかにしたらどうかな。

そうそう、てっきりJAVAかなんかと思ってたらCなのね。
absはint返すから abs(add)<0.01 イクナイよ。
fabsfとかをご利用下さい。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.033s