I can’t seem to pass values through to the AnimatedTextureExtendedUV.js, taken from the Wiki, on my iPhone project. This is the AnimatedTextureExtendedUV code as attached to my object. The script is called SpriteAnim.
//vars for the whole sheet
var colCount : int = 4;
var rowCount : int = 4;
//vars for animation
var rowNumber : int = 0; //Zero Indexed
var colNumber : int = 0; //Zero Indexed
var totalCells : int = 4;
var fps : int = 10;
var offset : Vector2; //Maybe this should be a private var
//Update
function Update () { SetSpriteAnimation(colCount,rowCount,rowNumber,colNumber,totalCells,fps); }
//SetSpriteAnimation
function SetSpriteAnimation(colCount : int,rowCount : int,rowNumber : int,colNumber : int,totalCells : int,fps : int){
// Calculate index
var index : int = Time.time * fps;
// Repeat when exhausting all cells
index = index % totalCells;
// Size of every cell
var size = Vector2 (1.0 / colCount, 1.0 / rowCount);
// split into horizontal and vertical index
var uIndex = index % colCount;
var vIndex = index / colCount;
// build offset
// v coordinate is the bottom of the image in opengl so we need to invert.
offset = Vector2 ((uIndex+colNumber) * size.x, (1.0 - size.y) - (vIndex+rowNumber) * size.y);
renderer.material.SetTextureOffset ("_MainTex", offset);
renderer.material.SetTextureScale ("_MainTex", size);
}
In my other script, on the same object, I have this:
function Awake () {
var other : SpriteAnim = gameObject.GetComponent(SpriteAnim) as SpriteAnim;
other.rowNumber=3; other.fps = 22; // Works.
other.SetSpriteAnimation(4,4,0,0,4,5); // Doesn't work.
}
I seem to be referencing the script ok as the
other.rowNumber=3; other.fps = 22;
line sends these the variables through correctly; the rowNumber var becomes 3 and the fps value becomes 22. But when I try to send them through the function call
other.SetSpriteAnimation(4,4,0,0,4,5); for example, they don’t go through.
I’m probably missing something really simple here on the other.script function code but I can’t find it.