Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        float   horizontal = Input.GetAxis("Horizontal");
        float   vertical   = Input.GetAxis("Vertical");
        Vector2 move       = new Vector2(horizontal, vertical);

        if (move != Vector2.zero)
        {
            faceDir = move.normalized;
        }
        Vector2 position = transform.position;

        position = position + move * speed * Time.deltaTime;
        rigidBody2d.MovePosition(position);
        bool h = Input.GetKeyDown("h");

        if (h)
        {
            changeManaPoint();
            if (targetEnermy == null || (targetEnermy.transform.position - transform.position).magnitude > 10)
            {
                GameObject  go    = GameObject.Find("/Enermy");
                Transform[] trans = go.GetComponentsInChildren <Transform>();
                if (trans != null && trans.Length > 0)
                {
                    setTargetEnermy();
                }
            }
            Debug.Log("when press h:" + targetEnermy);
            currentWeapon.attack(gameObject, targetEnermy, faceDir);
        }
        bool k = Input.GetKeyDown("k");

        if (k)
        {
            /*GameObject pfb = Resources.Load("prefabs/1") as GameObject;
             * GameObject prefabInstance = Instantiate(pfb);
             * prefabInstance.transform.parent = transform;
             * prefabInstance.AddComponent<weapon>();*/

            currentWeaponIndex = currentWeaponIndex + 1;
            if (currentWeaponIndex >= weapons.Length - 1)
            {
                currentWeaponIndex = 0;
            }
            currentWeapon = weapons[currentWeaponIndex].GetComponent <weapon>();
            transform.Find("/UsedWeapon").GetComponentInChildren <Image>().sprite = currentWeapon.getSprite();
        }
    }