예제 #1
0
    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];
    }
예제 #2
0
 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);
     }
 }
예제 #3
0
    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;
        }
    }