Skip to content

Instantly share code, notes, and snippets.

@ditzel
Last active July 27, 2024 14:46
Show Gist options
  • Save ditzel/0257d74a7a04626efce7bd1f7a6cfaa0 to your computer and use it in GitHub Desktop.
Save ditzel/0257d74a7a04626efce7bd1f7a6cfaa0 to your computer and use it in GitHub Desktop.
using UnityEngine;
using UnityEngine.EventSystems;
public class FixedButton : MonoBehaviour, IPointerUpHandler, IPointerDownHandler
{
[HideInInspector]
public bool Pressed;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
}
public void OnPointerDown(PointerEventData eventData)
{
Pressed = true;
}
public void OnPointerUp(PointerEventData eventData)
{
Pressed = false;
}
}
using UnityEngine;
using UnityEngine.EventSystems;
public class FixedTouchField : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
[HideInInspector]
public Vector2 TouchDist;
[HideInInspector]
public Vector2 PointerOld;
[HideInInspector]
protected int PointerId;
[HideInInspector]
public bool Pressed;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Pressed)
{
if (PointerId >= 0 && PointerId < Input.touches.Length)
{
TouchDist = Input.touches[PointerId].position - PointerOld;
PointerOld = Input.touches[PointerId].position;
}
else
{
TouchDist = new Vector2(Input.mousePosition.x, Input.mousePosition.y) - PointerOld;
PointerOld = Input.mousePosition;
}
}
else
{
TouchDist = new Vector2();
}
}
public void OnPointerDown(PointerEventData eventData)
{
Pressed = true;
PointerId = eventData.pointerId;
PointerOld = eventData.position;
}
public void OnPointerUp(PointerEventData eventData)
{
Pressed = false;
}
}
Copy link

ghost commented Feb 4, 2023

Help
error CS1061: 'FixedJoystick' does not contain a definition for 'InputVector' and no accessible extension method 'InputVector' accepting a first argument of type 'FixedJoystick' could be found (are you missing a using directive or an assembly reference?)

FixedJoystick has Direction.

--Level.cs

void Update(){
//...
        var player = fps.GetComponent<PlayerMovement>();
        player.RunAxis = FixedJoistick.Direction;
//...
}
//...

--PlayerMovement.cs

public CharacterController controller;
..

public Vector2 RunAxis;
...
        void Update(){
        //...
        float x = RunAxis.x; 
        float z = RunAxis.y;

        Vector3 move = transform.right * x + transform.forward * z;
        controller.Move(move*speed*Time.deltaTime);

        velocity.y += gravity * Time.deltaTime;
        controller.Move(velocity * Time.deltaTime);   
//... 
}

Hope it will help.

Can please tell me in which componet this both file is put or tell can i create this two file

@SlimeHorrorGuest666
Copy link

SlimeHorrorGuest666 commented Jul 23, 2024

pls help me everyone, i can't touch field and get's error

Third.Person.Shooter.-.SampleScene.-.Android.-.Unity.2019.4.0f1.Personal_._DX11_.2024-07-27.21-45-53.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment