本文整理汇总了C#中UnityEngine.Transform.SetPosRot方法的典型用法代码示例。如果您正苦于以下问题:C# Transform.SetPosRot方法的具体用法?C# Transform.SetPosRot怎么用?C# Transform.SetPosRot使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UnityEngine.Transform
的用法示例。
在下文中一共展示了Transform.SetPosRot方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Fire
private IEnumerator Fire(float multiplier)
{
// create charge
charge = Prefabs.Pop(chargePrefab).transform;
charge.parent = myTransform;
charge.SetPosRot(myTransform.position + myTransform.TransformDirection(attackOffset), myTransform.rotation);
charge.localScale = Vector3.one;
// increase charge
float timer = chargeTime;
while (timer > 0f)
{
timer -= deltaTime;
charge.localScale += Vector3.one * chargeSpeed * deltaTime;
yield return null;
}
charge.GetComponent<PoolObject>().Disable();
// fire
laser = Prefabs.Pop(laserPrefab).transform;
laser.parent = myTransform;
laser.SetPosRot(myTransform.position + myTransform.TransformDirection(attackOffset), myTransform.rotation);
laser.GetComponent<Hitbox>().Initialize(myShip, damage * multiplier);
while (power > 0f)
{
power -= FullPower / attackTime * deltaTime;
float size = maxSize * power / FullPower;
if (Physics.Raycast(laser.position, myTransform.forward, out rayInfo, maxRange) && rayInfo.collider.GetComponent<Health>() != null)
{
laser.localScale = new Vector3(size, size, rayInfo.distance);
}
else
{
laser.localScale = new Vector3(size, size, maxRange);
}
yield return null;
}
power = 0f;
EndAttack();
}