Issues with graphicsCompatibility = 1

@lbolduc and @roaminggamer: On that same idea, anytime I use invisible objects that I attach touch events to, I toggle invisibility to false and hit testability to true:

newObject = display.newRect(0, 0, 1024, 768) newObject.isVisible = false newObject.isHitTestable = true

My guess is that this is ‘cheaper’ from a processing standpoint, as no alpha operations are involved.

@davidcondolora and @roaminggamer, thanks very much for your invisible object suggestions. I’ll check those out. 

@davidcondolora, re: anchorX/Y … WOW! That’s a beautiful sight :) All realigned and relatively painless. Thanks so much!

Only 2 mod-tranistion problems left, opened new thread here:

  • black rectangle fades in/out of upper-left-screen quadrant on opening any lua file (module)

  • a broken video (mov) transition 

Ummm… just tried to test my latest build on iPad 1 and got a warning saying the build can’t be installed on iOS earlier than 6.0 - is this true? Related to graphics 2.0?

Very disappointed if I have to drop iPad 1 compatibility :frowning:

@beernathan: 2189 was the last public build to support iOS 5, unfortunately. iOS 6 became the minimum version with build 2381. I’m not sure if it was related to Graphics 2.0 or changes that Apple made.

What a shame :frowning:

The final nail in the coffin of my iPad 1 - I guess we all need to move on at some point!

@beernathan: You may still be able to successfully submit with build 2189, but I dunno. I too was a bit bummed; it was nice to be able to ship a game that even iPad 1 users could buy and play, and I had an iPad 1 through most of our development.

It’s not a Graphics 2.0 issue.  We dropped support for iOS 5 because of all of the hacks we were having to do to support iOS native things like GameCenter, the Camera app, facebook, etc.  Anything that put up a portrait only dialog box would crash landscape only apps, so we were constantly having to hack around this iOS 5 issue. 

If Apple does like last time, they will start requiring all apps to be uploaded against the iOS 8 SDK probably in February.  When this happens, Apple will have officially killed off iOS 5. 

The build that still supports iOS 5 is built with a version of Xcode that Apple does not allow submissions from any more.

Rob

Rob will be happy to hear that I’ve finally made the leap and implemented G2.0 with compat=1 to get me up to the current version of Corona. There were *lots* of pitfalls - porting to compatibility=1 is not as easy as it sounds. I’d be happy to write up the challenges, but I figure I’m one of the last on G1.0 - if there’s a need let me know and I’ll write it up.

Thanks,

Nathan.

@beernathan: I wouldn’t mind hearing about the challenges. I went through basically all of the process before hitting some show-stopper problems (which Corona helped me get past), but I haven’t gone back to it since, as I was able to submit with G1.0. But I will eventually have to modernize like everyone else, so any insight is helpful!

  • David

So the big changes were…

  1. Text edit - needs to conform with the new widget.

  2. Buttons: Having alpha=0 was OK before G2.0, but now it acts like isVisible = false, so you need to have an alpha greater than 0 if you want it to receive touch or tap events.

  3. Text: If you use the new style of text creator (which has alignment) then you need to change all x,y coordinates used on creation to establish position - they are now top left (were mid points)

  4. ScrollWidget: A couple big things changed. The coordinates of items in the scrollview are now relative to the whole screen - used to be relative to the scrollview group only. Also (and this took me ages!) when created they scroll a little down (or right, depending on the scroll axis). When you grab them and they bounce back they are fine again. The only way to resolve this was to use a scrollToPosition command when first showing the scrollview - this resets the scroll the first time, and it’s fine from there on…

That’s what I had noted down - could be other surprises though :wink:

Nathan.

Nate, buttons/objects should have zero alpha (or make them is visible = false) if you want them to recieve touch events but not have them visible.

You should use the property “isHitTestable” to allow them to recieve touch events.

i.e.

MyButton.isHitTestable = true

@beernathan: Thanks for the write-up! I had no idea that alpha = 0 now acts like isVisible = false. I usually use isVisible and isHitTestable, but odd that they changed the alpha behavior. Thanks!

Ahh, makes sense - thx @euphoriacorona

Np :slight_smile:

I believe that .alpha = 0 has always prevented touch events unless .isHitTestable is set.

Rob

Nope - my game had been in production for nearly a year with alpha=0 - I’ve never used isHitTestable. Perhaps the default for isHitTestable changed between G1.0 and G2.0.

Ummm… just tried to test my latest build on iPad 1 and got a warning saying the build can’t be installed on iOS earlier than 6.0 - is this true? Related to graphics 2.0?

Very disappointed if I have to drop iPad 1 compatibility :frowning:

@beernathan: 2189 was the last public build to support iOS 5, unfortunately. iOS 6 became the minimum version with build 2381. I’m not sure if it was related to Graphics 2.0 or changes that Apple made.

What a shame :frowning:

The final nail in the coffin of my iPad 1 - I guess we all need to move on at some point!

@beernathan: You may still be able to successfully submit with build 2189, but I dunno. I too was a bit bummed; it was nice to be able to ship a game that even iPad 1 users could buy and play, and I had an iPad 1 through most of our development.