Character Button Not Working On Left Side Of Iphone 7+ / Ios 10 (works On Iphone 6+ On Ios 9)

Discussion in 'Technical Discussion' started by AaroArts, Jun 3, 2017.

  1. AaroArts

    AaroArts Miniboss Boxer

    Joined:
    Jun 22, 2016
    Messages:
    1,546
    Likes Received:
    826
    Hello...

    So I started a new game, which has a Character button that's set to the "jump" function, to jump the character...

    The UI looks like this:

    [​IMG]

    So the button covers the left side of the screen.
    The screen is set to "adjust to height" in the app settings.

    It works fine in the Preview, but on both xCode Simulator and an iPhone 7+ Device, it doesn't... but let me clarify...

    It works if the tap is well inside of the screen... but should you tap (say within 15mm) from the left side of the device, the tap doesn't register and it freezes all other controls...

    To me, it's almost as if the tap is within left-most column on the picture above and even though the button covers the area, it doesn't work, then somehow voids all other buttons...

    HELPPPP please. My game relies on having this set up.

    Also, I have managed to recreate this in a default preset, using 2.2.8.

    Thank you.
     
  2. AaroArts

    AaroArts Miniboss Boxer

    Joined:
    Jun 22, 2016
    Messages:
    1,546
    Likes Received:
    826
    Update...

    Sooooo, I've tried hundreds of variations of "Block Throughs" on/off, both "Stick to Edge" on/off, various scaled "Character Buttons" sizes, positions and EVERYTHING...
    and STILL the left portion of the screen (say 15mm) just does not want to register a tap...

    I was using 2.2.8 and 2.2.9 beta with Xcode 8.3.2 with an iPhone 7+ on iOS 10.3.1.... Just doesn't work.

    So out of ideas, and getting very annoyed I figured why not waste more time and try an older phone via an older Xcode...
    And sure enough IT WORKS (WTF!) on iPhone 6+ running iOS 9.3.5 from Xcode 7.3.2.

    So on the older iOS and iPhone, it works fine and registers the tap...

    WHICH HAS LED ME TO BELIEVE... the problem is with the way Buildbox identifies a tap, because I'm thinking the Device is expecting you to do that press+drag thing where you can display all of your open Apps (by pressing the left-most side of the screen and sliding right, to open all background apps)...

    See a video of the iOS feature here:

    Thoughts @Andy ?
    Normally I wouldn't tag you on purpose because I'm sure you'd see it anyway, but this sounds important because it makes 15% of the screen redundant :(

    At least thats my guess anyway...
    Thanks.
     
    Last edited: Jun 3, 2017
  3. AaroArts

    AaroArts Miniboss Boxer

    Joined:
    Jun 22, 2016
    Messages:
    1,546
    Likes Received:
    826
    That's definitely the problem... I just launched an older game of mine, that uses the a character jump button, which I haven't played on my iPhone 7+ before (deved and played on iPhone 6+), and sure enough, the left-most side of the screen doesn't register a tap on my 7+ device...

    I think it's expecting a 3D touch/Multitasking gesture, not a single tap.

    I've recreated it from a preset and labeled the area for clarity...
    See attached BBDoc. Run on an iPhone 7+ Device.

    [​IMG]

    Is there a fix for this?
    I need the whole left side of the screen to register a tap on all devices, not just older models, and not just some of the screen :(

    Thanks for your help.
     

    Attached Files:

  4. Astro Games

    Astro Games Avid Boxer

    Joined:
    Nov 15, 2016
    Messages:
    356
    Likes Received:
    190
    Are you using "Stick To Edge" option with your Jump Button?
    If so the button can change the position depending of the currents device screen resolution (proportion).
     
  5. AaroArts

    AaroArts Miniboss Boxer

    Joined:
    Jun 22, 2016
    Messages:
    1,546
    Likes Received:
    826
    I've tried both.
    As I mentioned, I've also tried multiple sizes, and scaled the button huge to ensure complete coverage of the screen.

    It's 100% expecting a 3D Touch on iPhone 7+'s within the first 10-15% of pixels on the left side.
    As it works on my 6+.
     
  6. Astro Games

    Astro Games Avid Boxer

    Joined:
    Nov 15, 2016
    Messages:
    356
    Likes Received:
    190
    I see. I've just found that iPhone 7 has a Fast App Switcher that you can bring up with a long-ish press on the left side of the screen, followed by a right swipe. It can cause your problem. Try to find if is it possible to turn it off (or 3D touch) from code then it should solve your problem.
     
  7. AaroArts

    AaroArts Miniboss Boxer

    Joined:
    Jun 22, 2016
    Messages:
    1,546
    Likes Received:
    826
    Yeh, that's what I'm putting it down too.
    I'm hoping it's something BB will integrate into BB2.3 :)
     
  8. AaroArts

    AaroArts Miniboss Boxer

    Joined:
    Jun 22, 2016
    Messages:
    1,546
    Likes Received:
    826
    Oh well I should of thought of trying this early, but I didn't know I could turn 3D Touch off... but sure enough, if I turn off 3D Touch in settings, my tap is registered EVERYWHERE across the screen :D

    Guessing I'm going to have to disable the 3D Touch in xCode. Because I can't have half the screen not working on iPhone 7+'s or 3D Touch devices.
     
  9. Andy

    Andy Miniboss Boxer

    Joined:
    Sep 24, 2015
    Messages:
    2,152
    Likes Received:
    1,546
    Ah, interesting... thanks, guys. Will take a look at this 3D touch thing and disable by default.
     
    Astro Games and AaroArts like this.
  10. AaroArts

    AaroArts Miniboss Boxer

    Joined:
    Jun 22, 2016
    Messages:
    1,546
    Likes Received:
    826
    Awesome :D thanks man.
     
  11. Andy

    Andy Miniboss Boxer

    Joined:
    Sep 24, 2015
    Messages:
    2,152
    Likes Received:
    1,546
    Was looking at this today, so far I don't think 3d touch can be turned off in code. So will take a bit to figure out if there is some way to account or otherwise work around this. I guess for now you need to account for this in the design of your game controls.
     
    AaroArts likes this.
  12. AaroArts

    AaroArts Miniboss Boxer

    Joined:
    Jun 22, 2016
    Messages:
    1,546
    Likes Received:
    826
    Ok, thanks Andy.

    Yeh, I thought that might be the case.
    3D Touch can be turned off in settings, but you can't really tell a player to turn it off and definitely not do it for them.

    I'm going to have to make physical buttons instead of offer the whole side of the screen :( which is poop.

    Maybe there are some new Gesture Recognisers that could solve the problem or something... I don't know.
     
  13. Eageron

    Eageron Avid Boxer

    Joined:
    Nov 28, 2016
    Messages:
    160
    Likes Received:
    99
    I'm having the same problem.. It is so extremely getting on my nerves.. Funny thing.. this just happens with the jump button and it just happens on the left side.. I'm using an iphone 7..
     
  14. Eageron

    Eageron Avid Boxer

    Joined:
    Nov 28, 2016
    Messages:
    160
    Likes Received:
    99
    Sam,

    there is actually a solution to this problem! You have to place the character button exactly on the edges!!

    Have fun!
     

    Attached Files:

    • sam.png
      sam.png
      File size:
      71.1 KB
      Views:
      5
    • sam.png
      sam.png
      File size:
      71.1 KB
      Views:
      5
    AaroArts likes this.
  15. AaroArts

    AaroArts Miniboss Boxer

    Joined:
    Jun 22, 2016
    Messages:
    1,546
    Likes Received:
    826
    Ah cool thanks.
    I don't think it's a problem at the moment though, as Apple removed the 3D Touch Press Gesture in iOS 11 on the left-side of the screen.
    Good to know though as I assume Apple will bring it back in the future :)
     
  16. Eageron

    Eageron Avid Boxer

    Joined:
    Nov 28, 2016
    Messages:
    160
    Likes Received:
    99
    Just updated to iOS 11.1.2 and the problem returns!
     
  17. AaroArts

    AaroArts Miniboss Boxer

    Joined:
    Jun 22, 2016
    Messages:
    1,546
    Likes Received:
    826
    Oh no.
    Thanks for the tip.
     

Share This Page