- Home /
Basic javascript array declaration
I'm a beginner and i'm confused on how to use array in javascript. The program is very simple. Just use mouse left click and it will add up an integer value the handphone.clock variable.
Here's my code:
#pragma strict
var handphone : sony[];
var n = -1;
function Start () {
handphone = new sony[1000];
}
function Update () {
if(Input.GetMouseButtonDown(0)){
n++;
handphone[n].clock = (n+1);
Debug.Log(handphone[n].clock);
}
}
class sony{
var clock = 10;
}
Currently i have to write the array capacity at the "start function",if it's empty, it will return a syntax error. Is there anyway declaring it without stating the maximum index? (keep on adding index everytime i click).
Also, what is the difference between "n++" and "(n+1)". When i change the "(n+1)" into "n++" in the "handphone[n].clock = (n+1)", it will only run once ( left click once, returning a value of 10 and the next click wont return anything).
Answer by Dheen Doha · Mar 17, 2015 at 09:01 PM
http://docs.unity3d.com/es/current/ScriptReference/Array.html pls have a look..
Answer by AcE_fLoOdEr · Mar 17, 2015 at 08:11 PM
So basically you want to dynamically create new Array elements, every time you click? If that's the case, you can do this
#pragma strict
var handphone : sony[];
var n = -1;
function Start () {
}
function Update ()
{
if(Input.GetMouseButtonDown(0))
{
handphone = new sony[handphone.Length + 1];
n++;
handphone[n].clock = (n+1);
Debug.Log(handphone.Length);
}
}
just to create new elements on clicks.
I tried your code and it return an error: "Object reference not set to an instance of an object". Seems like still have to declare the array first at the Start Function. But, your tips on the "handphone.Length" saves the day. Thank you! This one works fine with me:
#pragma strict
var handphone : sony[];
var n = -1;
function Start () {
handphone = new sony[1];
}
function Update () {
if(Input.Get$$anonymous$$ouseButtonDown(0)){
n++;
handphone[n].clock = n;
Debug.Log(handphone[n].clock);
Debug.Log("Total index is " + handphone.Length);
handphone = new sony[handphone.Length + 1];
}
}
class sony{
var clock = 10;
}
Your answer
Follow this Question
Related Questions
Need help with OnTriggerEnter 3 Answers
JavaScript Syntax and Punctuation Meanings Question 1 Answer
Calling random functions 4 Answers