C# 球体对撞机碰撞射击玩家飞船?
好的,我在看我方面取得了一些进展,我能够让敌舰跟随玩家,激光枪也可以使用一些指导,如何让激光杀死玩家飞船,并提示丢失和“R”重新启动消息,欢迎提供有关如何进行的详细信息C# 球体对撞机碰撞射击玩家飞船?,c#,unity3d,C#,Unity3d,好的,我在看我方面取得了一些进展,我能够让敌舰跟随玩家,激光枪也可以使用一些指导,如何让激光杀死玩家飞船,并提示丢失和“R”重新启动消息,欢迎提供有关如何进行的详细信息 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class EnemyManagement : MonoBehaviour { [SerializeField] Ga
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyManagement : MonoBehaviour
{
[SerializeField] GameObject deathFX;
[SerializeField] Transform parent;
// The target marker.
[SerializeField] Transform target;
// Angular speed in radians per sec.
[SerializeField] float speed;
// Start is called before the first frame update
void Start()
{
AddSphereCollider();
}
private void AddSphereCollider()
{
Collider sphereCollider = gameObject.AddComponent<SphereCollider>();
sphereCollider.isTrigger = false;
}
void Update()
{
Vector3 targetDir = target.position - transform.position;
// The step size is equal to speed times frame time.
float step = speed * Time.deltaTime;
Vector3 newDir = Vector3.RotateTowards(transform.forward, targetDir, step, 0.0f);
Debug.DrawRay(transform.position, newDir, Color.red);
// Move our position a step closer to the target.
transform.rotation = Quaternion.LookRotation(newDir);
}
}
使用系统;
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
公营医疗管理:单一行为
{
[SerializeField]游戏对象死亡fx;
[序列化字段]转换父项;
//目标标记。
[序列化字段]转换目标;
//角速度(弧度/秒)。
[字段]浮动速度;
//在第一帧更新之前调用Start
void Start()
{
AddSphereCollider();
}
私有void AddSphereCollider()
{
Collider sphereCollider=gameObject.AddComponent();
sphereCollider.isTrigger=false;
}
无效更新()
{
Vector3 targetDir=target.position-transform.position;
//步长等于速度乘以帧时间。
浮动步长=速度*时间.deltaTime;
Vector3 newDir=Vector3.向旋转(transform.forward,targetDir,step,0.0f);
DrawRay(transform.position,newDir,Color.red);
//把我们的位置移近目标一步。
transform.rotation=Quaternion.LookRotation(newDir);
}
}
您需要给它一个半径,以便进行碰撞检测
sphereCollider.radius=10.0f代码>很酷。你添加了一个对撞机。伟大的“在碰撞时,调用FireeneMyGunsaActivity()
”的代码在哪里?您好,Draco,我做了一些更改,因为您上次阅读的内容仍然不起作用,我将创建一个在碰撞时调用并返回:/OnPartilceCollision
不正确。另外,现在您缺少任何开火代码。好的,谢谢您的洞察力。提示:播放器是粒子吗?不那你为什么要在粒子碰撞方法中检查播放器呢?我更改了代码并添加了一些注释,请再次阅读,我会研究你的建议。非常感谢。