프로젝트

일반

사용자정보

통계
| 개정판:

t1 / TFDContents / Assets / KinectDemos / ColliderDemo / Scripts / EggSpawner.cs @ 3

이력 | 보기 | 이력해설 | 다운로드 (1.21 KB)

1
using UnityEngine;
2
using System.Collections;
3

    
4
public class EggSpawner : MonoBehaviour 
5
{
6
	[Tooltip("Index of the player, tracked by this component. 0 means the 1st player, 1 - the 2nd one, 2 - the 3rd one, etc.")]
7
	public int playerIndex = 0;
8

    
9
	[Tooltip("Prefab (model and components) used to instantiate eggs in the scene.")]
10
    public Transform eggPrefab;
11

    
12
    private float nextEggTime = 0.0f;
13
    private float spawnRate = 1.5f;
14
 	
15
	void Update () 
16
	{
17
        if (nextEggTime < Time.time)
18
        {
19
            SpawnEgg();
20
            nextEggTime = Time.time + spawnRate;
21

    
22
            spawnRate = Mathf.Clamp(spawnRate, 0.3f, 99f);
23
        }
24
	}
25

    
26
    void SpawnEgg()
27
    {
28
		KinectManager manager = KinectManager.Instance;
29

    
30
		if(eggPrefab && manager && manager.IsInitialized() && manager.IsUserDetected(playerIndex))
31
		{
32
			long userId = manager.GetUserIdByIndex(playerIndex);
33
			Vector3 posUser = manager.GetUserPosition(userId);
34

    
35
			float addXPos = Random.Range(-2f, 2f);
36
			Vector3 spawnPos = new Vector3(addXPos, 5f, posUser.z - 0.1f);
37
			
38
			Transform eggTransform = Instantiate(eggPrefab, spawnPos, Quaternion.identity) as Transform;
39
			eggTransform.parent = transform;
40
		}
41
    }
42

    
43
}