1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class BallScript : MonoBehaviour { private float power; //ボールのパワー Rigidbody rb; //リジッドボディ void Start() { power = 5.0f; //初期値5 rb = GetComponent<Rigidbody>(); //リジッドボディを取得 } //ゲームスタート public void GameStart() { rb.AddForce(transform.up * power, ForceMode.Impulse); //上に向けて力を加える } void Update() { } void OnCollisionEnter (Collision other) { //TopWallにぶつかったとき if(other.gameObject.name == "TopWall") { float randomDir = Random.Range(-power, power); //ランダム数値 rb.velocity = Vector3.zero; //ボールの速度をリセット rb.AddForce(randomDir, -power, 0, ForceMode.Impulse); //ランダムの角度ではね返す } } } |