- Home /
Question by
vishgangani6001 · Oct 22, 2019 at 08:42 PM ·
drawtrajectory
how to DrawPath Trajectory Like below game Reference
i want to create path with touch input and I try it and created just single direction but i want to create with arc in 3 type.
target and origin position are fix but change arc curve path change depend on control
1. If User Swipe Right Side so Draw Path Origin to target with Arc and arc curve with right side x = 10
2. If User Swipe left Side so Draw Path Origin to target with Arc and arc curve with left side x = -10
3. If User in center so Draw Path Origin to target with Arc and arc curve with X = 0
void Update()
{
if (Application.isMobilePlatform)
{
// If pressed with one finger
if (Input.GetMouseButtonDown(0))
{
pressX = Input.touches[0].position.x;
pressY = Input.touches[0].position.y;
}
else if (Input.GetMouseButtonUp(0))
{
pressX = 0;
pressY = 0;
}
if (pressX != 0)
{
float currentX = Input.touches[0].position.x;
// The finger of initial press is now left of the press position
if (currentX < pressX)
XValue = (currentX - pressX) / 100;
// The finger of initial press is now right of the press position
else if (currentX > pressX)
XValue = (currentX - pressX) / 100;
//print("XValue : " + XValue);
if (target.transform.position.y < 45.0f)
{
TargetPosition = target.transform.position;
print("YValue : " + YValue);
TargetPosition.x += XValue;
TargetPosition.y += YValue;
target.transform.position = TargetPosition;
}
else
{
TargetPosition = target.transform.position;
print("YValue : " + YValue);
TargetPosition.x += XValue;
TargetPosition.y += YValue;
if (target.transform.position.y > 45.0f)
TargetPosition.y = 45;
target.transform.position = TargetPosition;
}
DrawPath();
}
if (pressY != 0)
{
float currentY = Input.mousePosition.y;
// The finger of initial press is now left of the press position
if (currentY < pressY)
YValue = (currentY - pressY) / 100;
// The finger of initial press is now right of the press position
else if (currentY > pressY)
YValue = (currentY - pressY) / 100;
if (target.transform.position.y < 45.0f)
{
TargetPosition = target.transform.position;
print("YValue : " + YValue);
TargetPosition.x += XValue;
TargetPosition.y += YValue;
target.transform.position = TargetPosition;
//target.transform.position = new Vector3(target.transform.position.x, target.transform.position.y + YValue, target.transform.position.z);
}
else
{
TargetPosition = target.transform.position;
print("YValue : " + YValue);
TargetPosition.x += XValue;
TargetPosition.y += YValue;
if (target.transform.position.y > 45.0f)
TargetPosition.y = 45;
target.transform.position = TargetPosition;
}
DrawPath();
}
}
else
{
if (Input.GetMouseButtonDown(0))
{
pressX = Input.mousePosition.x;
pressY = Input.mousePosition.y;
}
else if (Input.GetMouseButtonUp(0))
pressX = 0;
if (pressX != 0)
{
float currentX = Input.mousePosition.x;
float currentY = Input.mousePosition.y;
// The finger of initial press is now left of the press position
if (currentX < pressX)
XValue = (currentX - pressX) / 100;
// The finger of initial press is now right of the press position
else if (currentX > pressX)
XValue = (currentX - pressX) / 100;
// The finger of initial press is now left of the press position
if (currentY < pressY)
YValue = (currentY - pressY) / 100;
// The finger of initial press is now right of the press position
else if (currentY > pressY)
YValue = (currentY - pressY) / 100;
if (target.transform.position.y < 45.0f )
{
TargetPosition = target.transform.position;
print("YValue : " + YValue);
TargetPosition.x += XValue;
TargetPosition.y += YValue;
target.transform.position = TargetPosition;
//target.transform.position = new Vector3(target.transform.position.x, target.transform.position.y + YValue, target.transform.position.z);
}
else
{
TargetPosition = target.transform.position;
print("YValue : " + YValue);
TargetPosition.x += XValue;
TargetPosition.y += YValue;
if (target.transform.position.y > 45.0f)
TargetPosition.y = 45;
target.transform.position = TargetPosition;
}
DrawPath();
}
else
{
}
}
if (Input.GetMouseButtonUp(0))
{
print("Mouse Click Call");
//Rigidbody obj = Instantiate(ball, transform.position, Quaternion.identity);
//obj.velocity = Vo;
ball.position = transform.position;
Physics.gravity = Vector3.up * gravity;
ball.useGravity = true;
ball.velocity = CalculateLaunchData().initialVelocity;
}
}
i created like :
And I want Like : Reference Video
1.jpg
(82.9 kB)
Comment