12 Roll A Ball全部代码

在这里插入图片描述


> Player

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

public class Player : MonoBehaviour
{

    private Rigidbody rd;   //声明一个钢体组件rd (通过rd去操作组件)
    private int score = 0;
    public Text text;          //  调用组件    小 更细化
    public GameObject winText; // 调用游戏物体 大

    void Start()
    {
        rd = GetComponent<Rigidbody>();      //得到游戏物体的钢体组件并赋给rd
    }

    // Update is called once per frame
    void Update()
    {   //如何得到左右按键(A D)和前后按键(W S)
        float h = Input.GetAxis("Horizontal");//得到水平轴的值 是个小数 h返回—1到1的值(负数A键)
        float v = Input.GetAxis("Vertical");
        rd.AddForce(new Vector3(h, 0, v)*7);  // 让它一直运动 通过 . 去调用方法
                                              //new Vector3(x,y,z)创建1个向量(一个向量有3个值) 
                                              //*5速度放大5倍
    }

   //碰撞检测
   /* void OnCollisionEnter(Collision collision) {
        //collision.collider 获取碰撞到的游戏物体身上的Collider组件
        //string name = collision.collider.name;//获取碰撞到游戏物体的名字
        //print(name);//把一个字符串输出显示到控制台
        if (collision.collider.tag == "PickUp"){
            Destroy(collision.collider.gameObject);
        }
    }
    */
    //触发检测
     void OnTriggerEnter(Collider collider){
        if (collider.tag == "PickUp"){
            score++;
            text.text = score.ToString();
            if (score == 10)
            {
                winText.SetActive(true);  //激活游戏物体
            }
            Destroy(collider.gameObject);
        }
    }
}


> PickUp

using UnityEngine;
using System.Collections;

public class PickUp : MonoBehaviour {

	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () { //1s 60次
		transform.Rotate(new Vector3(0, 1, 0));
		//transform组件 Rotate方法 围绕某个轴旋转
	}
}


> FallowTarget

using UnityEngine;
using System.Collections;

public class FollowTarget : MonoBehaviour {

	public Transform playerTransfrom;//Transform组件可得位置 定义主角的
	public Vector3 offset;

	// Use this for initialization
	void Start (){   //只执行一次 用于初始化
		offset = transform.position - playerTransfrom.position;
		// 相机位置-主角位置=偏移
    }
	
	// Update is called once per frame
	void Update () {
		transform.position = playerTransfrom.position + offset;
		// 相机位置=主角位置+偏移(主角位置一直在动) 
	}
}

全部历程:

01 Roll A Ball 小游戏(环境搭建)
02 Roll A Ball 刚体介绍和脚本的创建
03 Roll A Ball通过代码控制移动
04 Roll A Ball通过键盘按键控制小球的移动
05 Roll A Ball控制相机的跟随
06 Roll A Ball控制小球的移动范围
07 Roll A Ball如何创建可收集的食物
08 Roll A Ball控制食物的旋转
09 Roll A Ball 碰撞检测与触发检测
10 Roll A Ball显示分数和胜利检测
11 Roll A Ball游戏发布和运行
12 Roll A Ball全部代码

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值