Вторая неделя обучения Unity

создать модель

1. Создайте мяч
вИерархияСоздайте маленький шар в (щелкните правой кнопкой мыши3D-объектСфера в ), вИнспекторЩелкните Добавить компонент (Добавить компонент), чтобы добавить небольшой шариковый коллайдер (Коробчатый коллайдер) и твердое тело (Жесткое тело).
2. Создайте землю.
Добавьте землю к 3D-объекту (Самолет) и добавьте верхний коллайдер к земле и
отрегулируйте землю до подходящего размера (по умолчанию все в порядке).
3. Создайте еду.
Добавьте кубики к 3D-объекту (куб) по имениЕдаИ добавьте соответствующее тело столкновения для куба. Создайте префаб куба в Project (Профабс) и поместить в папку.
вставьте сюда описание изображения

Скопируйте несколько кубов в Инспекторе (ctrl+D или выберите цель и щелкните правой кнопкой мыши Вставить) в качестве пищи шара, чтобы создать префаб.
вставьте сюда описание изображения
Создание стен
Метод создания стен такой же, как и создание еды, разница в том, что вам нужно настроить размер стен
в каждом объектеТрансформироватьСреди них Масштаб может регулировать длину, ширину и высоту (x, y, z) объекта.
вставьте сюда описание изображения

Написать код

код мяча

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

public class script : MonoBehaviour
{
    
    
    public int score = 0;
    public Text text;
    public GameObject winText;
    public GameObject lostText;
    public Wallscript wallscript;
    public Rigidbody body;/// <summary>
    /// 声明一个组件
    /// </summary>
    // Start is called before the first frame update
    void Start()
    {
    
    

        //Debug.Log("开始游戏了!");
        body = GetComponent<Rigidbody>();
        //得到一个组件,<>内为组件名
    }

    // Update is called once per frame
    void Update()
    {
    
    
        Debug.Log("游戏正在运行!");
       
        float i = Input.GetAxis("Horizontal");  //Horizontal左右键
        float j = Input.GetAxis("Vertical");//Vertical前后
        body.AddForce(new Vector3(i,0,j)*3);
     
    }
    private void OnCollisionEnter(Collision collision)  //判断是否发生碰撞OnCollisionEnter是碰撞的瞬间
    {
    
    
        if (collision.gameObject.tag == "Cube")   //collision.gameObject获得标签
        {
    
    
            //Destroy(collision.gameObject);  //Destroy毁坏物体
            lostText.SetActive(true);
        }

    }
    private void OnTriggerEnter(Collider other)//触发区域检测
    {
    
    
        if (other.tag == "Food")
        {
    
     
            Destroy(other.gameObject);
            score++;
            text.text = "分数:"+score; //显示分数
            if(score==7)
            {
    
    
                winText.SetActive(true);  //激活对象
                
            }
        }
        
    }
}

пищевой код (куб)

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

public class foodscript : MonoBehaviour
{
    
    
    // Start is called before the first frame update
    void Start()
    {
    
    
        
    }

    // Update is called once per frame
    void Update()
    {
    
    
        transform.Rotate(Vector3.up);
       // transform.Rotate(Vector3.back);
        //将物体旋转Rotate是旋转()内是旋转方向
    }
}

Камера следует за мячом

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

public class follwtarge : MonoBehaviour
{
    
    
    public Transform tf;   //transform位置
    private Vector3 offset;
    // Start is called before the first frame update
    void Start()
    {
    
    
        offset = transform.position - tf.position;
     //两物体的位置之差
    }

    // Update is called once per frame
    void Update()
    {
    
    
        transform.position = tf.position + offset;
    }
}

игровая упаковка

Нажмите в левом верхнем углуФайл,оказатьсяПараметры здания, Добавить открытую сцену (Добавить открытую сцену) можно выбрать сторону ПК, сторону iOS, сторону Android.
вставьте сюда описание изображения
Наконец, нажмите Build и выберите место для упаковки.

Supongo que te gusta

Origin blog.csdn.net/AD_GOD/article/details/122726379
Recomendado
Clasificación