Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by AlexGoblin2020 · Dec 09, 2019 at 06:25 PM · script.problema

How do I connect a virtual joystick?

I need to rewrite the script to enable the virtual joystick

Here's :

 public float softRespawnDelay = 0.5f;
 public float softRespawnDuration = 0.5f;
 public InputMaster controls;

 // Other components
 private CharacterController2D character;
 private CameraController cameraController;
 private CheckpointSystem checkpoint;
 private InteractSystem interact;
 private Vector2 axis;

 /// <summary>
 /// Awake is called when the script instance is being loaded.
 /// </summary>
 void Awake() {
     character = GetComponent<CharacterController2D>();
     checkpoint = GetComponent<CheckpointSystem>();
     interact = GetComponent<InteractSystem>();
     cameraController = GameObject.FindObjectOfType<CameraController>();
     if (!cameraController) {
         Debug.LogError("The scene is missing a camera controller! The player script needs it to work properly!");
     }
     controls.Player.Movement.performed += ctx => Move(ctx.ReadValue<Vector2>());
     controls.Player.Movement.cancelled += ctx => Move(Vector2.zero);
     controls.Player.Jump.started += Jump;
     controls.Player.Jump.cancelled += EndJump;
     controls.Player.Dash.started += Dash;
     controls.Player.Interact.started += Interact;
     controls.Player.AttackA.started += Attack;
 }

 /// <summary>
 /// Update is called every frame, if the MonoBehaviour is enabled.
 /// </summary>
 void Update() {
     character.Walk(axis.x);
     character.ClimbLadder(axis.y);
 }

 private void Move(Vector2 _axis) {
     axis = _axis;
 }

 private void Jump(InputAction.CallbackContext context) {
     if (axis.y < 0) {
         character.JumpDown();
     } else {
         character.Jump();
     }
 }

 private void EndJump(InputAction.CallbackContext context) {
     character.EndJump();
 }

 private void Dash(InputAction.CallbackContext context) {
     character.Dash(axis);
 }

 private void Interact(InputAction.CallbackContext context) {
     if (interact) {
         interact.Interact();
     }
 }

 private void Attack(InputAction.CallbackContext context) {
     if (interact && interact.PickedUpObject) {
         interact.Throw();
     }
 }

 /// <summary>
 /// Respawns the player at the last soft checkpoint while keeping their current stats
 /// </summary>
 public void SoftRespawn() {
     character.Immobile = true;
     Invoke("StartSoftRespawn", softRespawnDelay);
 }

 /// <summary>
 /// Starts the soft respwan after a delay and fades out the screen
 /// </summary>
 private void StartSoftRespawn() {
     cameraController.FadeOut();
     Invoke("EndSoftRespawn", softRespawnDuration);
 }

 /// <summary>
 /// Ends the soft respwan after the duration ended, repositions the player and fades in the screen
 /// </summary>
 private void EndSoftRespawn() {
     checkpoint.ReturnToSoftCheckpoint();
     cameraController.FadeIn();
     character.Immobile = false;
 }

 /// <summary>
 /// This function is called when the object becomes enabled and active.
 /// </summary>
 void OnEnable() {
     controls.Player.Enable();
 }

 /// <summary>
 /// This function is called when the behaviour becomes disabled or inactive.
 /// </summary>
 void OnDisable() {
     controls.Player.Disable();
 }

}

Here's the joystick script:

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems;

public class FloatingJoystick : Joystick { protected override void Start() { base.Start(); background.gameObject.SetActive(false); }

 public override void OnPointerDown(PointerEventData eventData)
 {
     background.anchoredPosition = ScreenPointToAnchoredPosition(eventData.position);
     background.gameObject.SetActive(true);
     base.OnPointerDown(eventData);
 }

 public override void OnPointerUp(PointerEventData eventData)
 {
     background.gameObject.SetActive(false);
     base.OnPointerUp(eventData);
 }

}

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

208 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Only the last clone of my enemies can harm me, they all have the same script 0 Answers

Change from mouse click to free space to a canvas button 0 Answers

Why Trail Renderer and A Basic Script Stops Working? 0 Answers

I can not add an existing script 0 Answers

animation simple pendulum and double pendulum 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges