这是一项大学任务,目的如下:
对于第一级:在30秒内收集3个对象。 第二级:在90秒内收集尽可能多的对象。
我主要做了第一级,碰撞工作正常,但由于某种原因它不会在完成时加载下一级。
以下是生成对象的代码,我无法弄清楚如何在此处正确显示,因此我使用的是截图。
这在大学里有用,但由于某些原因,它不在家,而且由于任务将在2天内完成,所以我很紧张,而且我真的无法看到它不是&#39工作。因为它在大学里工作,所以我没有改变任何东西。
using UnityEngine;
using System.Collections;
public class ObjectGeneratorScript : MonoBehaviour {
public static int points;
float radians(float degrees) {
return (degrees / 180) * Mathf.PI;
}
void makeObjects(float minDistanceFromOriginal, float maxDistanceFromOrigin, PrimitiveType objType, int number, string tag) {
//Setting up material variables
Material cubematerial;
Material spherematerial;
Material cylindermaterial;
float angle;
float distanceFromOrigin;
float x;
int i;
float z;
GameObject temp;
//Telling the code what to load for the material variables
cubematerial = Resources.Load("cubematerial", typeof(Material)) as Material;
spherematerial = Resources.Load("spherematerial", typeof(Material)) as Material;
cylindermaterial = Resources.Load ("cylindermaterial", typeof(Material)) as Material;
for (i=1; i<=number; i++) {
distanceFromOrigin = minDistanceFromOriginal + Random.value * (maxDistanceFromOrigin - minDistanceFromOriginal);
angle = Random.Range (0, 360);
x = distanceFromOrigin * Mathf.Cos (radians (angle));
z = distanceFromOrigin * Mathf.Sin (radians (angle));
temp = GameObject.CreatePrimitive (objType);
temp.transform.position = new Vector3 (x, 0.5f, z);
Renderer rend = temp.GetComponent<Renderer>();
//If functions tell the game to load a material for when a certain object is generated
if (tag=="Cube"){rend.material = cubematerial;}
if (tag=="Sphere"){rend.material = spherematerial;}
if (tag=="Cylinder"){rend.material = cylindermaterial;}
}
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
print (ObjectGeneratorScript.points);
if (ObjectGeneratorScript.points == 6)
{
Application.LoadLevel ("lvl2");
}
}
void onCollisionEnter (Collision col)
{
if (col.gameObject.tag == "cube") {
Destroy (col.gameObject);
ObjectGeneratorScript.points = ObjectGeneratorScript.points + 1;
}
if (col.gameObject.tag == "sphere") {
Destroy (col.gameObject);
ObjectGeneratorScript.points = ObjectGeneratorScript.points + 2;
}
if (col.gameObject.tag == "cylinder") {
Destroy (col.gameObject);
ObjectGeneratorScript.points = ObjectGeneratorScript.points + 3;
}
}
}