From 23f6f546b300ae2953da6e429156bf925fc78ab6 Mon Sep 17 00:00:00 2001 From: tiendat3699 <96950844+tiendat3699@users.noreply.github.com> Date: Tue, 16 Apr 2024 13:35:03 +0700 Subject: [PATCH] tweak: change way to control --- Assets/GadGame/Scenes/Scene 5.unity | 2 +- .../Scripts/MiniGame/MiniGameController.cs | 28 +++++++++++++------ 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/Assets/GadGame/Scenes/Scene 5.unity b/Assets/GadGame/Scenes/Scene 5.unity index b3cc4e4..8dd892a 100644 --- a/Assets/GadGame/Scenes/Scene 5.unity +++ b/Assets/GadGame/Scenes/Scene 5.unity @@ -1246,7 +1246,7 @@ MonoBehaviour: GameTime: 60 _basket: {fileID: 1254852291} _lerp: 10 - _speed: 20 + _speed: 10 _spawnTime: 0.5 _bombChange: 0.2 _spawnArea: diff --git a/Assets/GadGame/Scripts/MiniGame/MiniGameController.cs b/Assets/GadGame/Scripts/MiniGame/MiniGameController.cs index 8b8cff4..0e59cee 100644 --- a/Assets/GadGame/Scripts/MiniGame/MiniGameController.cs +++ b/Assets/GadGame/Scripts/MiniGame/MiniGameController.cs @@ -74,18 +74,28 @@ namespace GadGame.MiniGame { //640x480; var inputData = DataReceiver.Instance.DataReceived.PosPoint; - var inputNormalize = new Vector2(inputData.x / 640, -inputData.y / 480).normalized; - if (inputNormalize != Vector2.zero) + var inputNormalize = new Vector2(inputData.x / 640, inputData.y / 480); + var screenPoint = new Vector2 { - var dirMove = _camera.ScreenToWorldPoint(inputNormalize).normalized; + x = Mathf.Lerp(0, _canvas.pixelRect.width, inputNormalize.x), + y = -Mathf.Lerp(0, _canvas.pixelRect.height, inputNormalize.y) + }; + if (screenPoint != Vector2.zero) + { + var worldPoint = _camera.ScreenToWorldPoint(screenPoint); var currentPosition = _basket.position; - var pos = currentPosition + (Vector3)dirMove * (_speed * Time.deltaTime); - pos.x = Mathf.Clamp(pos.x, -2.25f, 2.25f); - pos.y = currentPosition.y; - pos.z = 0; - _basket.position = Vector3.Lerp(currentPosition, pos, _lerp * Time.deltaTime); + var dirMove = worldPoint - new Vector3(0, 0); + dirMove.y = 0; + dirMove.z = 0; + dirMove.Normalize(); + var targetPos = currentPosition + dirMove * _speed; + targetPos.x *= -1; + _basket.Translate(dirMove * (_speed * Time.deltaTime)); + currentPosition = _basket.position; + currentPosition.x = Mathf.Clamp(currentPosition.x, -2.25f, 2.25f); + _basket.position = currentPosition; + // _basket.position = Vector3.Lerp(currentPosition, targetPos, _lerp * Time.deltaTime); } - } public void SetTextTime(float time)