- Home /
OnGui working with javascript but not with C#
Hi, I am new and learning with tutorials. If I us a script like this:
using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {
void OnGUI() {
if (GUI.Button(new Rect(10, 10, 150, 100), "I am a button"))
print("You clicked the button!");
}
}
it wont show anything when I run the game. But if use javascript writing the exact same script it will work.
function OnGUI() {
if (GUI.Button (Rect(10,10,150,100), "I am button"))
print ("You clicked the button!");
}
Happens the same with any other any other OnGUI function I tried.
Whats wrong with the C# scripts?
Yes I attached the script to an empty object and I named the class after the script. I did it again carefully checking everything after reading your answers and it worked. Perhaps I wasn't careful enough before writing the question ^.^ Thx guys though.
Answer by Eric5h5 · Sep 09, 2012 at 03:01 PM
Nothing is wrong...the code runs as expected with no issues, in both cases. Maybe you didn't name your C# script to match the class name.
Answer by kristercollin · Sep 09, 2012 at 04:34 PM
Elec6,
I copy and pasted the code precisely and it ran as expected without error.
First thing to do is check the console for any errors, as Eric suggested, as you may have a naming issue. If the game is running fine without that error, though, make sure you attached the script to an object in the scene, yeah? I'm sure it must sound silly to make that suggestion, but in tiredness, I have overlooked the obvious all too many times, myself =P
Let us know how you go.
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Distribute terrain in zones 3 Answers
How to Calling function in JS from C# 1 Answer
how to use matrice with unity 3D 1 Answer
C# Gravity Gun. Error CS0120 2 Answers