Unity的C#编程教程_26_if 条件语句挑战4

  • 在游戏里创建一个 cube,确认初始位置为 0,0,0
  • 任务:最初 cube 为红色,每次按下空格加十分,达到60分以后,cube 变为蓝色
  • 提示:这个 cube 也是个变量,类型为 GameObject,假设我们在 Main Camera 下面挂载的脚本中设置了一个 public GameObject cube 变量,那我们就可以 Unity 中用拖拽的方式进行赋值

  • 创建一个脚本挂载在 Main Camera 下,打开添加 GameObject 变量,然后在 Unity 中把场景中的 cube 拖拽进行赋值
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class player : MonoBehaviour
{

    public GameObject cube;
    // 创建变量后,到 Unity 中拖拽赋值

    private Color redColor = Color.red; // 设置个颜色变量,其实也可以直接用
    public int score = 0;
    // 创建变量存储分数,使用 public 可以在 unity 中看到分数变化


    // Start is called before the first frame update
    void Start()
    {
        cube.GetComponent<Renderer>().material.color = redColor;
        // 首先使用GetComponent获取游戏对象下面挂载的组件
        // 这里我们需要的是 Renderer 组件,用于控制游戏对象的材质
        // 在这个组件下有个 material 材料属性
        // 材料属性下有子属性:颜色

    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))// 判断按下空格键
        {
            score += 10;// 加十分

            if (score >= 60)// 如果分数达到 60 分
            {
                cube.GetComponent<Renderer>().material.color = Color.blue;
                // 变化颜色,这里就直接用了 Color.blue 变成蓝色
            }
            
        }
    }
}

Tags: