2d 空物体实例化发射子弹 围绕旋转

来源:互联网 发布:手机怎么制作网络问卷 编辑:程序博客网 时间:2024/05/17 08:47
using UnityEngine;
using System.Collections;


public class Gun : MonoBehaviour
{
public Rigidbody2D rocket;// Prefab of the rocket.
public float speed = 20f;// The speed the rocket will fire at.




private PlayerControl playerCtrl;// Reference to the PlayerControl script.
private Animator anim;// Reference to the Animator component.




void Awake()
{
// Setting up the references.
anim = transform.root.gameObject.GetComponent<Animator>();
playerCtrl = transform.root.GetComponent<PlayerControl>();
}




void Update ()
{
// If the fire button is pressed...
if(Input.GetButtonDown("Fire1"))
{
// ... set the animator Shoot trigger parameter and play the audioclip.
anim.SetTrigger("Shoot");
audio.Play();


// If the player is facing right...
if(playerCtrl.facingRight)
{
// ... instantiate the rocket facing right and set it's velocity to the right. 
Rigidbody2D bulletInstance = Instantiate(rocket, transform.position, Quaternion.Euler(new Vector3(0,0,0))) as Rigidbody2D;
bulletInstance.velocity = new Vector2(speed, 0);
}
else
{
// Otherwise instantiate the rocket facing left and set it's velocity to the left.
Rigidbody2D bulletInstance = Instantiate(rocket, transform.position, Quaternion.Euler(new Vector3(0,0,180f))) as Rigidbody2D;
bulletInstance.velocity = new Vector2(-speed, 0);
}
}
}

}

——————————————————————————------

public class routter : MonoBehaviour {
public Transform tu1;
//public Transform tu2;

void Start () {
//tu1 = GameObject.Find("tupian2").transform;

}


void Update () {

transform.RotateAround (tu1.position, tu1.up, 40 * Time.deltaTime);
//tu2.transform.RotateAround (tu1.position, Vector2.up, 30 * Time.deltaTime);
}

0 0
原创粉丝点击