void Start() { scoreValue = Random.Range(1, 10) * 100; scoreKeeper = GameObject.Find("Score").GetComponent <ScoreKeeper>(); spriteRenderer = GetComponent <SpriteRenderer>(); health = Random.Range(9, 13); pattern = new AnimPart[] { new AnimPart(Direction.East, 30, 1f), new AnimPart(Direction.Down, 10, 1f), new AnimPart(Direction.West, 30, 1f), new AnimPart(Direction.Down, 10, 1f) }; stateIx = 0; currentPart = pattern[stateIx]; }
void Update() { if (isTimeToChange()) { stateIx++; if (stateIx >= pattern.Length) { stateIx = 0; } currentPart = pattern[stateIx]; } //moveForPart (currentPart); if (Input.GetKeyDown(KeyCode.C)) { GoCrazy(); } if (isCrazy) { spriteRenderer.color = Random.ColorHSV(0f, 1f, 1f, 1f, 1f, 1f); } }
void moveForPart(AnimPart p) { Direction d = p.direction; float moveSpeed = basicMoveSpeed * p.relativeSpeed; switch (d) { case Direction.East: transform.Translate(Vector2.right * moveSpeed * Time.deltaTime); break; case Direction.West: transform.Translate(Vector2.left * moveSpeed * Time.deltaTime); break; case Direction.Down: transform.Translate(Vector2.down * moveSpeed * Time.deltaTime); break; default: Debug.LogError("no such direction: " + d); break; } }