我正在Unity中制作篮球比赛,使用扳机对撞机来检测球何时通过网。在此触发发生时,我还想检查球是否与边缘接触(2分钟)(3分钟,嗖嗖声)。我已经为轮圈定义了一个OnCollisionEnter,但是我想知道触发器对撞机本身的OnTriggerEnter函数的这种碰撞。
到目前为止,我有:
#pragma strict
// defined on the basket itself
function OnTriggerEnter(info:Collider) {
if (info.name == "ball") {
Debug.Log("Basket made");
}
}
然后
#pragma strict
// defined on the rim
function OnCollisionEnter (info:Collision) {
if (info.collider.name == "ball") {
Debug.Log("Ball hit rim");
}
}
我想在前者的功能中检测后者,有些如何。
答案 0 :(得分:1)
你在球上定义了两个函数:
function HitRim()
{
// do something here, like score + 2
}
function HitBasket()
{
// do something here, like score + 3
}
并将您的代码更改为:
// defined on the rim
function OnCollisionEnter (info:Collision) {
if (info.collider.name == "ball") {
Debug.Log("Ball hit rim");
var lBall: YourBallClass;
lBall= info.gameObject.GetComponent("YourBallClass");
lBall.HitRim();
}
}
和
// defined on the basket
function OnTriggerEnter(info:Collision) {
if (info.collider.name == "ball") {
Debug.Log("Ball hit basket");
var lBall: YourBallClass;
lBall= info.gameObject.GetComponent("YourBallClass");
lBall.HitBasket();
}
}