0
Answered

How to disable/not show the joystick in mobile?

dvr 4 months ago in Game Creator updated 4 months ago 4
Unity version:
Game Creator version:

there is no way to set joystick disable without modifying codes. 

TouchStickManager is singleton instance and it called onCreate() method when it make instance first. in the onCreate() method, TouchManager try to Instantiate TouchStick. 

Sadly, according to PlayerCharacter class, PlayerCharacter try to getDirection from TouchStick when Application.isMobilePlatform is true.

there are several points of getDirection from TouchStick when Application is MobilePlatform like below

the best way for solving this problem is waiting for "Marti" makes new update for this. 

but before update you can make(or modify) scripts for what you want.


I recommand to make child class from PlayerCharacter instead of modifying PlayerCharacter Directly. you can make your own "BabyPlayerCharacter" class which inherit to PlayerCharacter and make overrided methods such as "UpdateInputDirectional(), UpdateInputTank() or others" to keep codes of PlayerCharacter class innocent without any modification.


the simple way is just touching the conditions of if-constructions :P 
but usually modifying original codes of framework can make a lot of the insane problems and situations which you never expected. and if you modified this directly, Marti couldn't help you when you got another bugs or problems from this modification. so, just keep it as what it is.

Thanks JOON for looking at this. Seems complicated to edit the code. Would love if Marti can add this as a feature in the future. I was planning to have the user touch the screen so "player" can walk to that point, and the screen will be more cleaner without the joystick drawn on it.

Answered

If you don't use the Input Directional, the joystick won't appear. When you set the Player's "Is Controllable" property to false, the joystick also disappears. So as a summary, it only shows when it's needed.

Great; that explains it!