unity案例学习之“打砖块”

1.实列化子弹

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

public class Shoot : MonoBehaviour
{
    public GameObject bullet;
    public float speed = 5;
    
    // Start is called before the first frame update
    void Start()
    {
      
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0)) { //0是左键
            GameObject b =  GameObject.Instantiate(bullet,transform.position,transform.rotation);
            //Debug.Log(transform.position);
            //Debug.Log(transform.rotation);
            //transform.position当前在世界空间坐标transform的位置。0,2,-8.9
            //transform.rotation当前在世界坐标系中的旋转(四元数)的位置。0,0,0,1

            Rigidbody rgd = b.GetComponent<Rigidbody>();
            rgd.velocity = transform.forward * speed;
            //transform.forward:当前世界坐标系中的前方向。(在世界空间坐标变换的蓝色轴。也就是z轴。)
            //velocity为刚体的速度
            //velocity设置或返回刚体的速度值
        }
        //子弹发射,通过刚体施加速实现的
    }
}

2.球体的移动

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

public class Movement : MonoBehaviour
{
    public float speed = 3;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        float h = Input.GetAxis("Horizontal");
        //获取键盘A、D或者←、→按钮事件,发生水平方向的移动(获取值为float)
        float v = Input.GetAxis("Vertical");
        transform.Translate(new Vector3(h, v, 0)*Time.deltaTime*speed);
        //将控制物体按照任何方向进行移动
        //当前脚本所在的组件移动xz yz 为变量 Time.deltaTime 1米每秒的速度
        // transform.Translate物体移动函数
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值