Make your own multi touch buttons instead like on old snes/genesis pads.
I use this for my 3 direction buttons in my game and works very well.
Function Multi_Touch()
BT_Left_State=0
SetSpriteColorAlpha(BT_Left,100)
BT_Right_State=0
SetSpriteColorAlpha(BT_Right,100)
BT_Up_State=0
SetSpriteColorAlpha(BT_Up,100)
touchID = GetRawFirstTouchEvent(1)
while touchID > 0
x# = ScreenToWorldX(GetRawTouchCurrentX( touchID ))
y# = ScreenToWorldY(GetRawTouchCurrentY( touchID ))
if GetSpriteHitTest ( BT_Left, x#, y# )
BT_Left_State=-1
SetSpriteColorAlpha(BT_Left,200)
endif
if GetSpriteHitTest ( BT_Right, x#, y# )
BT_Right_State=1
SetSpriteColorAlpha(BT_Right,200)
endif
if GetSpriteHitTest ( BT_Up, x#, y# )
BT_Up_State=1
SetSpriteColorAlpha(BT_Up,200)
endif
touchID = GetRawNextTouchEvent()
endwhile
Endfunction
Its as simple as detecting sprite hits when user touches the screen.
This do i use in the main code to check wath button is pressed.
REM // On mobile device //
Multi_Touch()
Move_Direction# = BT_Left_State + BT_Right_State
Jump_Direction# = BT_Up_State
Move_Direction# is either -1 or +1 in my code 0 means no button press at all..
The built in buttons is not multi touch and will only detect a single button press at a time.
And virtual joystick is not that good actually but works.
Android 2.3 Gingerbread , ZTE Skate , 480x800 , 800 mhz cpu , Samsung Galaxy Y , 240x320 , 832 mhz cpu
Android 4.0 Sandwich , Dmtech 3g 9738B , 1024x768 , 9.7 inches , cortex A8 1.2 cpu , 1 gb ram.