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物体移动函数
}
}