void Update() { Event_loop(); //타 클래스 업데이트. str_Event_Mag.Event_Update(); str_Camera_Mag.Camera_Update(); //플레이어 오브젝트와 자동차 오브젝트의 거리 계산. c_distance = Vector2.Distance(str_Character.transform.position, str_ride_car.transform.position); //플레이어 오브젝트와 쓰래기통의 거리 계산. t_distance = Vector2.Distance(str_Character.transform.position, obj_trash.transform.position); //거리에 따라 true 와 false를 update해주는. car_check = if_check(c_distance); //쓰래기통. trash_check = if_check(t_distance); //캐릭터가 ON일 경우. if (char_update == true) { str_Character.Character_Update(); //camera set str_Camera_Mag.player_camera_set(str_Character.transform); } //자동차가 ON일 경우. if (ride_car_update == true) { str_ride_car.ride_car_Update(); //camera set str_Camera_Mag.player_camera_set(str_ride_car.transform); } if (Input.anyKeyDown) { if (GameObject.Find("how_to_play")) { GameObject how = GameObject.Find("how_to_play"); Destroy(how); if (Input.GetKeyDown(KeyCode.F)) { return; } } } if (Input.GetKeyDown(KeyCode.F) && F_key_ == true) { //쓰래기 버리는 체크. if (trash_check) { //아이스크림을 안 먹었을경우. if (GameObject.Find("Player_ice_cream") && ice_cream == false) { ice_cream = true; spriteRenderer.sprite = sprite_trash_con; //ice_cream_eat_effect AudioSource.PlayClipAtPoint(Effect_Audio[0], transform.position); return; } if (GameObject.Find("Player_ice_cream")) { GameObject trash = GameObject.Find("Player_ice_cream"); Destroy(trash); steel_down = true; //변경된 텍스쳐 지워주는걸로. } shoot_ = false; //쓰래기를 버렸으니 던지지 못하게. return; //조건이 맞으면 밖으로 나가야함 쓰래기 던지는 조건 때문에. } if (ride_car_update == false) { //거리 1.0f보다 작을 경우. if (car_check) { //차를 탑승. str_Character.GetComponent <Renderer>().enabled = false; //car_ride effect sound str_sound_Mag.PlayEffect(5); //업데이트 교환. ride_car_update = true; char_update = false; eat_ice_cream = false; return; } } else { AudioSource.PlayClipAtPoint(Effect_Audio[2], transform.position); //차에서 내림 str_Character.GetComponent <Renderer>().enabled = true; //캐릭터가 차량에서 내릴경우 시작할 위치. str_Character.transform.position = new Vector3(str_ride_car.transform.position.x + 1.0f, str_ride_car.transform.position.y, str_ride_car.transform.position.z); eat_ice_cream = true; ride_car_update = false; char_update = true; return; } //아이스크림 먹는 체크. if (GameObject.Find("Player_ice_cream") && eat_ice_cream == true && ice_cream == false) { ice_cream = true; //위에 쓰래기통 앞에서 안먹엇을경우와 길가다 먹는 경우를 구분하기 위해서. //ice_cream_eat_effect AudioSource.PlayClipAtPoint(Effect_Audio[0], transform.position); spriteRenderer.sprite = sprite_trash_con; shoot_ = true; return; } if (shoot_ == true) { //아이콘에 있던 쓰래기 콘을 없애주고 if (GameObject.Find("Player_ice_cream")) { GameObject trash = GameObject.Find("Player_ice_cream"); Destroy(trash); } //프리팹 콘 생성 Instantiate(trash_con, str_Character.transform.position, str_Character.transform.rotation); GameObject C_trash_con = GameObject.Find("trash_con(Clone)"); dir_con = (str_Character.wall_check[0].transform.position - C_trash_con.transform.position).normalized; trash_shoot_ = true; shoot_ = false; } } if (trash_shoot_ == true) { if (GameObject.Find("trash_con(Clone)")) { GameObject C_trash_con = GameObject.Find("trash_con(Clone)"); //던졋을때 쓰래기와 쓰래기통의 거리를 비교하기 위해서. float trash_shoot_dis = Vector2.Distance(obj_trash.transform.position, C_trash_con.transform.position); if (trash_dis >= .0f) { C_trash_con.transform.Translate(dir_con * (8.0f * Time.deltaTime)); trash_dis -= 0.2f; } else if (trash_shoot_dis <= 1.0f) { AudioSource.PlayClipAtPoint(Effect_Audio[1], transform.position); steel_down = true; Destroy(C_trash_con); } else if (trash_shoot_dis >= 1.0f) { //trash_effect AudioSource.PlayClipAtPoint(Effect_Audio[1], transform.position); char_update = false; //못움직이게 trash_shoot_ = false; //루프 안돌게 trash_Event = true; //이벤트 실행 } } } }