フライパン内部挙動調整
This commit is contained in:
parent
43282296b7
commit
ba1eac2396
|
|
@ -10,6 +10,7 @@ public class PanController : MonoBehaviour, IDragHandler, IBeginDragHandler
|
||||||
{
|
{
|
||||||
[SerializeField] private float lerpTime = 0.1f;
|
[SerializeField] private float lerpTime = 0.1f;
|
||||||
private Transform cacheTransform;
|
private Transform cacheTransform;
|
||||||
|
private Vector3 firstPos;
|
||||||
private Vector3 offset;
|
private Vector3 offset;
|
||||||
private readonly (float min, float max) borderX = (-1.2f, 3.1f);
|
private readonly (float min, float max) borderX = (-1.2f, 3.1f);
|
||||||
private readonly (float min, float max) borderY = (-1.1f, 0.3f);
|
private readonly (float min, float max) borderY = (-1.1f, 0.3f);
|
||||||
|
|
@ -26,6 +27,7 @@ public class PanController : MonoBehaviour, IDragHandler, IBeginDragHandler
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
cacheTransform = gameObject.transform;
|
cacheTransform = gameObject.transform;
|
||||||
|
firstPos = cacheTransform.position;
|
||||||
prevPos = cacheTransform.position;
|
prevPos = cacheTransform.position;
|
||||||
deltaTime = 0.5f;
|
deltaTime = 0.5f;
|
||||||
direction = Vector2.left;
|
direction = Vector2.left;
|
||||||
|
|
@ -33,30 +35,32 @@ public class PanController : MonoBehaviour, IDragHandler, IBeginDragHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
private Vector3 target;
|
private Vector3 target;
|
||||||
|
|
||||||
|
private static float time = .5f;
|
||||||
|
private float freq = 1f / time;
|
||||||
|
|
||||||
// Update is called once per frame
|
// Update is called once per frame
|
||||||
void Update()
|
void Update()
|
||||||
{
|
{
|
||||||
// OnDragが更新されていない場合は方向をゼロにしたいがUpdateでゼロにすると使えなくなるため保留
|
// OnDragが更新されていない場合は方向をゼロにしたいがUpdateでゼロにすると使えなくなるため保留
|
||||||
// if (cacheTransform.position == prevPos)
|
if (cacheTransform.position == prevPos)
|
||||||
// {
|
{
|
||||||
// direction = Vector2.zero;
|
direction = Vector2.zero;
|
||||||
// }
|
}
|
||||||
|
|
||||||
if (deltaTime >= 1f)
|
if (deltaTime >= 1.0f)
|
||||||
{
|
{
|
||||||
isMove = !isMove;
|
isMove = !isMove;
|
||||||
deltaTime = 0f;
|
deltaTime = 0f;
|
||||||
}
|
}
|
||||||
if (!isMove && Mathf.Approximately(transform.position.x, target.x))
|
if (isMove)
|
||||||
{
|
{
|
||||||
direction = direction * -1;
|
// transform.position = firstPos + new Vector3(Mathf.Sin(2 * (float)Math.PI * freq * deltaTime) / 2, 0f);
|
||||||
target = transform.position + 1.3f * new Vector3(direction.x, direction.y, 0f);
|
|
||||||
}
|
}
|
||||||
transform.position = Vector3.Lerp(transform.position, target, lerpTime * Time.deltaTime);
|
|
||||||
delta = cacheTransform.position - prevPos;
|
|
||||||
|
|
||||||
deltaTime += Time.deltaTime;
|
delta = cacheTransform.position - prevPos;
|
||||||
prevPos = cacheTransform.position;
|
prevPos = cacheTransform.position;
|
||||||
|
deltaTime += Time.deltaTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnDrag(PointerEventData eventData)
|
public void OnDrag(PointerEventData eventData)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue