【发布时间】:2015-12-10 04:25:29
【问题描述】:
using UnityEngine;
using System.Collections;
public class AIEnemy : MonoBehaviour {
public GameObject bullet;
public float bulletSpeed = 10;
public Transform player;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void FixedUpdate () {
}
void OnTriggerStay2D(Collider2D col)
{
if(col.tag == "Player")
{
// Debug.DrawRay(transform.position, player.position - transform.position);
RaycastHit2D rhit2d = Physics2D.Raycast(transform.position, player.position - transform.position, Mathf.Infinity);
if (rhit2d.collider.tag == "Player")
{
var clone = Instantiate(bullet, transform.position, Quaternion.identity) as Rigidbody2D;
clone.velocity = (player.position - transform.position * bulletSpeed);
}
}
}
}
这是我的代码。当玩家停留在触发对撞机中时,它会找到玩家并向其开火。但我的问题是子弹不会射向玩家,它只是掉下来。我已将子弹设置为触发器,所以这不是问题。 (顺便说一句,这是一个 2D 游戏)该项目在 Github 上:https://github.com/Massaxe/2D-AI/
【问题讨论】: