So I’m trying to make a scary game, and in this scary game at a random time after 2 minutes into the game, a 2d texture pops up for a quarter of a second. could i have the script in c#, (because converting it from js is a pain).
Here a C# script that will make appear a pic every 120 seconds, it doesn’t work at random, but you can easily modify it:
using UnityEngine;
using System.Collections;
public class ScaryFace : MonoBehaviour {
private bool isAppearing = false; //switch on/off the image (if true is showing, if false is hidden)
public Texture2D ScaryFaceImage; //Texture of the image to show
public float imageStayTime = 0.5f; //Time the image should stay on screen
private float time; //Time passing in seconds
public float timeLimit = 120f; //The time limit the picture have to appear
void Update()
{
StartCoroutine("FaceAppear");
}
IEnumerator FaceAppear () {
time += Time.deltaTime * 1;
while(time > timeLimit){
isAppearing = true;
yield return new WaitForSeconds(imageStayTime);
isAppearing = false;
time = 0;
}
yield return null;
}
void OnGUI()
{
if(isAppearing){
GUI.DrawTexture ( new Rect (0,0, Screen.width, Screen.height), ScaryFaceImage);
}
}
}
Don’t know if is performance friendly, so far I get 0 impact on the frame rate; in this script you can also put a timelimit for the pic to appear, so you can make it appear also every 5 seconds. Every time the pic appear the timer is resetted to 0, using a simple coroutine.