码迷,mamicode.com
首页 > 其他好文 > 详细

Unity基础 随机数的使用

时间:2014-07-14 17:50:46      阅读:388      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   os   

  脚本语言:C# 

  一个比较常用的例子是游戏中的主角碰到场景中的NPC时,NPC会随机做出反应,例如有50%几率来友好的致敬,25%几率走开,20%几率反身攻击和%%的几率赠送礼物。

创建一个NPCTest脚本,用于模拟NPC动作:

using UnityEngine;
using System.Collections;

public class NPCTest : MonoBehaviour {

    //NPC动作几率
    float[] probArray = {0.5f , 0.25f , 0.2f , 0.05f};  
    int probValue;    //NPC选择值

    // Use this for initialization
    void Start () {
    }
    
    // Update is called once per frame
    void Update () {
    }

    //选择函数,返回NPC的选项下标值
    int Choose(float[] probe)
    {
        float total = 0.0f;
        for (int i=0; i < probe.Length; i++) {
            total += probe[i];        
        }

        // Random.value方法返回一个0—1的随机数
        float randomPoint = Random.value * total;

        for (int i=0; i < probe.Length; i++) {
            if(randomPoint<probe[i])
                return i;
            else
                randomPoint -= probe[i];
        }

        return probe.Length - 1;
    }

    void OnGUI(){
        if( GUI.Button(new Rect(10,70,50,30),"Click") )
        {
            probValue = Choose(probArray);

            switch(probValue){
            case 0:
                Debug.Log ("NPC向我致敬!");
                break;
            case 1:
                Debug.Log ("NPC离开了!");
                break;
            case 2:
                Debug.Log ("NPC攻击我了!");
                break;
            case 3:
                Debug.Log ("NPC给我钱了!");
                break;
            default:
                Debug.Log("我没有碰到NPC");
                break;
            }
        }
    }
}

点击Game视图中的Click按钮,可以看到打印出来的数据:

bubuko.com,布布扣

 

参考链接:

  更为详细的介绍:http://blog.csdn.net/luyuncsd123/article/details/16919547

 

Unity基础 随机数的使用,布布扣,bubuko.com

Unity基础 随机数的使用

标签:style   blog   http   color   使用   os   

原文地址:http://www.cnblogs.com/vitah/p/3842941.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!