void AdvancedJump(Collider2D col) { Player_remove player_move_control = col.gameObject.GetComponent <Player_remove>(); player_move_control.m_JumpSpeed *= 2; SetTimeOut(5000, () => { player_move_control.m_JumpSpeed /= 2; }); }
void Update() { Rect screenRect = new Rect(); screenRect.min = Camera.main.ViewportToWorldPoint(new Vector2(0, 0)); screenRect.max = Camera.main.ViewportToWorldPoint(new Vector2(1, 1)); Vector3 targetPos = TargetPos(); // 相机偏移 Player_remove player_remove = Player.GetComponent <Player_remove>(); float offsetDistance = Camera.main.ViewportToWorldPoint(new Vector3(0.10f, 0)).x - Camera.main.ViewportToWorldPoint(new Vector2(0, 0)).x; if (player_remove.dir == Player_remove.dirfront) { targetPos.x += offsetDistance; } else { targetPos.x -= offsetDistance; } // 弹簧相机效果 Vector3 stepPos = Vector3.Lerp(transform.position, targetPos, Speed * Time.deltaTime); Rect newScreenRect = new Rect(screenRect); newScreenRect.position += (Vector2)(stepPos - transform.position); Rect backgroundRect = new Rect(); backgroundRect.min = Background.transform.position - Background.GetComponent <Collider2D>().bounds.size / 2; backgroundRect.max = Background.transform.position + Background.GetComponent <Collider2D>().bounds.size / 2; Vector3 newPosition = stepPos; if (newScreenRect.xMin <= backgroundRect.xMin) { newPosition.x = backgroundRect.xMin + screenRect.width / 2; } else if (newScreenRect.xMax >= backgroundRect.xMax) { newPosition.x = backgroundRect.xMax - screenRect.width / 2; } if (newScreenRect.yMin <= backgroundRect.yMin) { newPosition.y = backgroundRect.yMin + screenRect.height / 2; } else if (newScreenRect.yMax >= backgroundRect.yMax) { newPosition.y = backgroundRect.yMax - screenRect.height / 2; } transform.position = new Vector3(newPosition.x, newPosition.y, transform.position.z); }
/* * int GetItemNO() * { * NpcWeaponScript Npcw = GetComponent<NpcWeaponScript>(); * return Npcw.ItemType; * } */ void SpeedUp(Collider2D col) { Player_remove player_speed_control = col.gameObject.GetComponent <Player_remove>(); if (player_speed_control != null) { //Debug.Log(player_speed_control); player_speed_control.speed = 10; SetTimeOut(5000, () => { player_speed_control.speed = 5; }); } }
public override void Effect(GameObject target) { if (target.tag == "Player") { Player_remove player_speed_control = target.GetComponent <Player_remove>(); player_speed_control.speed = 2.5f; Ultility.SetTimeOut(3000, () => { player_speed_control.speed = 5f; }); } else { NpcWeaponScript npc_speed_control = target.GetComponent <NpcWeaponScript>(); npc_speed_control.speed /= 2; Ultility.SetTimeOut(3000, () => { npc_speed_control.speed *= 2; }); } }