12.

飛行機の加速と減速

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

本稿はUnityで飛行機の加速・減速をするスクリプトを説明します。

 

加速・減速スクリプト

適当な飛行機オブジェクトをAsset Storeからインポートする。

インポートしたオブジェクトに適当なスクリプトを付与して以下のコードを記載する。

自動で加速してスペースキーで減速するようにする。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class MyAircraftController : MonoBehaviour {

    public float maxSpead; //最大速度
    public float verticalSpead; //縦の旋回速度
    public float horizontalSpead; //横の旋回加速
    public float accel; //加速
    public static float speed = 0; //現在のスピード
    private float minSpeed = 0; //最低速度 マイナスになりすぎないように

    void Start () {
        //最低速度の割り出し(必要に応じて適当に設定)
        minSpeed = maxSpead * (float)0.2 * -1;
    }
    
    void Update () {

        //方向転換
        float v = Input.GetAxis("Vertical") * verticalSpead;
        float h = Input.GetAxis("Horizontal") * horizontalSpead;
        this.transform.Rotate(new Vector3(v, 0, -h));

        //加速処理
        if(maxSpead >= speed)
        {
            if (!Input.GetKey(KeyCode.Space))
            {
                //加速
                speed = speed + accel;
            }
        }


        //減速処理
        if (minSpeed <= speed)
        {
            if (Input.GetKey(KeyCode.Space))
            {
                speed = speed - accel;
            }

        }

        //this.transform.Translate(0, 0, speed);
        this.transform.position += transform.forward * speed * Time.deltaTime;
    }
}

 

 

重力の変更

重力の設定を変更して重力を無くす。

重力の変更方法はこちらを参照。

 

子ページ
子ページはありません
同階層のページ
  1. スクリプトの作成と実行
  2. C#のクラス一覧
  3. シーンの移動方法
  4. オブジェクトの移動・回転
  5. キーボードの入力値を受け取る
  6. オブジェクトの取得とコンポーネントの取得
  7. 衝突時の処理
  8. Webページを開く
  9. コンポーネントの取得
  10. 処理を一定時間待つ
  11. コンソールへのログ出力方法
  12. 飛行機の加速と減速
  13. ジェットエンジンのエフェクトとオーディオ

最近コメントのあったページ

最近の質問

コメント一覧

コメントがありません

ログインしなければコメント投稿はできません。