Aka*_*ari 6 unity-game-engine unityscript
在我的游戏中,如果玩家在游戏中与特定对象发生碰撞,我希望通过在运行时编写脚本来使玩家对象透明2秒......是否可能?
小智 10
检查是否有碰撞.当您想要的碰撞被触发时,您可以更改透明度.
GameObject g;
// 50% Transparency.
g.renderer.material.color.a = 0.5f; // a is the alpha value.
// 100% Transparency.
g.renderer.material.color.a = 1.0f;
Run Code Online (Sandbox Code Playgroud)
您可以这样做以使您的程序等待时间:http://docs.unity3d.com/Documentation/Manual/Coroutines.html
你会注意到这个例子正好是你的问题.
试试这个扩展方法:
public static void ChangeAlpha(this Material mat, float alphaValue)
{
Color oldColor = mat.color;
Color newColor = new Color(oldColor.r, oldColor.g, oldColor.b, alphaValue);
mat.SetColor("_Color", newColor);
}
Run Code Online (Sandbox Code Playgroud)
然后您可以通过以下方式调用它:
gameObject.renderer.material.ChangeAlpha( Your Alpha Value );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50420 次 |
| 最近记录: |