- Home /
How to display a characters "dialogue" when entering a collider?
Hi there.
I've been looking around for quite some time now, but can't seem to find a solution.
I'm trying to solve two different, yet similar problems.
1) When the player gets near an other objects collider, a text will appear in front of that object as its "dialogue" or thoughts, then quickly disappear again. Like this:
2) Also, when the player enters an invisible collider, I need a text to appear in front of the player and follow him (as in being attached to him). This will work as the players "dialogue" or thoughts and again quickly disappear. Just like this:
I've beeing digging into these two links, here and here (and many questions similar to this one), but I have little-to-no experience with GUI.
Any help/explanation is appreciated!
Thanks.
Answer by rezki · Jun 19, 2014 at 03:43 PM
create a guiText
Write your Dialogue
position it , attach it to your player and deactivate it
and Attach this script to a box and delete the Mesh Renderer And The Mesh Filter Make the Box Collider Is trigger
var Dialogue : GUIText;
function OnTriggerEnter(collider : Collider){
if(collider.gamebject.tag = "Your Player's Tag"){
Dialogue.enabled = true;
}
}
How do I do this, if I've used a Text$$anonymous$$esh ins$$anonymous$$d of GUIText?
The code looks like this:
#pragma strict
var Dialogue : UnityEngine.Text$$anonymous$$esh;
function OnTriggerEnter(collider : Collider)
{
if(gameObject.tag=="Player")
{
Dialogue.enabled = true;
}
}
But I get an error saying: 'enabled' is not a member of 'UnityEnginge.Text$$anonymous$$esh'
Try:
Dialogue.renderer.enabled = true;
Ins$$anonymous$$d
It removed the error. But still, nothing happens. I have the Text$$anonymous$$esh as a disabled child to the Player and a Boxcollider with "is trigger" activated, with my DisplayDialogue script attached. The script looks like this:
#pragma strict
var Dialogue : Text$$anonymous$$esh;
function OnTriggerEnter(collider : Collider)
{
if(gameObject.tag=="Player")
{
Dialogue.renderer.enabled = true;
}
}
Any idea what's wrong? Here's a picture showing nothing:
Yes he has. I tried with a debugging and nothing new. But when I removed the if(gameObject.tag =="Player") part, it was able to debug but still not able to activate the object with the Text$$anonymous$$esh.
Is the var correctly done?
Your answer
Follow this Question
Related Questions
Playing Dialogue on Trigger Enter without overlapping sound 1 Answer
Relative GUI positioning and Pixel Inset/Offset conversion 2 Answers
guitext and texture following gameobject, how to destroy and alternatives? 1 Answer
Two separate OnTriggerEnter() functions playing at the same time. 1 Answer
show different textures when trigged entered thrice 2 Answers