- Home /
Change variable of ex2D Sprite using the component ExScreenPosition via code .js script
Hi,
I am simply trying to access and set a variable of a Component (script) added to prefab which is Instantiated and stored in a array.
#pragma strict
//An array to store all the Coordinates of Game Tiles for that column
public var GameGridPositions: Vector2[,];
//X Pixel position of first tile (topLeft)
var FirstTilePosX :int = 14;
//Y Pixel position of first tile (topLeft)
var FirstTilePosY :int = 85;
//Width of tile to calculate offset for each position
var GameTileWidth :int = 84;
//Number of Rows to know how many position to calculate for
var NumberOfRows :int = 9;
//Number of Columns to know how many position to calculate for
var NumberOfColumns :int = 7;
//How many unique game items to make
var MinGameItemCount :int = 7;
var MaxGameItemCount :int = 14;
var GameItemPrefab : exSpriteAnimation ;
function Awake () {
//Initialise a Array with +1 to make first points 1x1 instead of 0x0
GameGridPositions = new Vector2[NumberOfColumns+1,NumberOfRows+1];
//Populates the array starting from 1 (not 0)
for(var r = 1; r <= NumberOfRows; r++)
{
for (var c = 1; c <= NumberOfColumns; c++) {
GameGridPositions [c,r] = Vector2 (FirstTilePosX + (GameTileWidth * c) ,FirstTilePosY + (GameTileWidth * r));
//Debug.Log("C:" + c + " | R:" + r + " = " + GameGridPositions[c,r]);
}
}
//How many GameItems are made
var GameItemCount = Random.Range(MinGameItemCount, MaxGameItemCount);
Debug.Log(GameItemCount);
//Makes array to hold all game items
var GameItems : exSpriteAnimation[] = new exSpriteAnimation[GameItemCount];
//Populates the array with required number of GameItems
for(var i = 0; i <= GameItemCount; i++) {
var GameItem : exSpriteAnimation ;
GameItem = Instantiate(GameItemPrefab, GameGridPositions[0,2] , Quaternion.identity) as exSpriteAnimation;
GameItems[i] = GameItem;
GameItems[i].name = "GameItem" + i;
//GameItems[i] = Instantiate(GameItem, GameGridPositions[0,2] , Quaternion.identity) as exSpriteAnimation;
}
GameItems[2].GetComponent("ExScreenPosition").ScreenX = 100;
}
Have also tried; GameItems[2].GetComponent("ExScreenPosition"); GameItems[2].ScreenX = 100;
I get this error : BCE0019: 'ScreenX' is not a member of 'UnityEngine.Component'.
Also unrealted i get this error NullReferenceException: Object reference not set to an instance of an object. exSpriteAnimState..ctor.
I just want to be able to use the array of co-ordinates I have with the sprites to position them. Also going to use HOTween to make it smooth transitions.
Thank you in advance for anyone willing and able to help :)
Your answer
Follow this Question
Related Questions
How to get a value from an array within another script. 1 Answer
Updating variable on another script. It is not working. 2 Answers
How to load prefabs into array 2 Answers
Parenting an instantiated prefab. 1 Answer
Array with boolean variables? 3 Answers