J'ai récupéré un script qui me permet d'ouvrir une porte en appuyant sur une touche (que j'ai changé d'ailleurs).
Lorsque je m'approche d'une porte, le script détecte le joueur et affiche un caractère, la lettre E, au milieu de l'écran.
Mais j'aimerais à la place afficher une icône plus explicite dans le genre de skyrim (lettre blanche sur fond noir).
Pouvez-vous m'aider ?
Code : Tout sélectionner
// Smothly open a door
var smooth = 2.0;
var DoorOpenAngle = 90.0;
private var open : boolean;
private var enter : boolean;
private var defaultRot : Vector3;
private var openRot : Vector3;
function Start(){
defaultRot = transform.eulerAngles;
openRot = new Vector3 (defaultRot.x, defaultRot.y + DoorOpenAngle, defaultRot.z);
}
//Main function
function Update (){
if(open){
//Open door
transform.eulerAngles = Vector3.Slerp(transform.eulerAngles, openRot, Time.deltaTime * smooth);
}else{
//Close door
transform.eulerAngles = Vector3.Slerp(transform.eulerAngles, defaultRot, Time.deltaTime * smooth);
}
if(Input.GetKeyDown("e") && enter){
open = !open;
}
}
function OnGUI(){
if(enter){
GUI.Label(new Rect(Screen.width/2-4, Screen.height/2,200,200), "E"); <-- voici la fameuse touche ;D
}
}
//Activate the Main function when player is near the door
function OnTriggerEnter (other : Collider){
if (other.gameObject.tag == "Player") {
enter = true;
}
}
//Deactivate the Main function when player is go away from door
function OnTriggerExit (other : Collider){
if (other.gameObject.tag == "Player") {
enter = false;
}
}