|
Hey, I have some programming experience but only in traditional environments (Eclipse, VisualStudio). I need to create a class called Die (as in the singular of "dice"), that I can use across different JavaScript files. The class is supposed to represent one die, that can be rolled by calling (for example) die1.roll(). I have a MouseInformer script, which takes care of what the mouse has "picked up". When I click on a button (with a picture of a die) I want that button to add a die to MouseInformer's array of dice. In the end, I want to be able to click on a text box, into which the dice list is emptied and all the dice are rolled, and shown in the text box. I am really not used to the programming structure of Unity and find it quite difficult to imagine how my scripts work, so apologies if this question is really basic or if I'm going about the problem the wrong way (if you have any suggestions, please write!). I want to know how to make the Die class visible to other JavaScript files in the project, such as the chat-box, so that I can transfer the dice between arrays in different scripts. I've attached my MouseInformer script:
(comments are locked)
|
|
I believe a .js script is treated as a class in Unity, and to reference it you only need have the script in your project. You can then write lines such as
in another .js file, and it will recognise you are creating a new instance of a Die.js component. You can assign this a value in various ways; the easiest being to attach this other script to an object, then dragging onto it a Game Object that has a Die component attached. You can access any function or variable not specified as private, like this Of course, there's nothing to stop you from saying something like: var myObject : Die = new Die(); Rather than use a GameObject with a Die component.
May 14 '10 at 01:45 PM
Novodantis 1
Thanks a lot, I'll check it out when I've completed some other stuff in my project. :)
May 15 '10 at 11:24 AM
TheMorten
(comments are locked)
|
|
All public classes declared in Unity scripts are available to all other scripts, with the exception of certain compilation order rules. So to create and use a new Die instance, in any other js script, just do:
Incidentally, if you're familiar with coding in other environments such as VS and Eclipse, you might find you get on a lot better using C# in Unity instead of Javascript. You can even use VS to work on the scripts if you like!
(comments are locked)
|
