Problem with progress ring

Made an app for iOS and Android using your ring called “Fast Up”. I charge for it but you can still see pics of it. There is occasionally a vertical line (at 0 and 180 deg.) that appears no matter where on the screen or the size, probably just 1 pixel wide. For now it’s not an issue so I haven’t researched conditions when it happens.

Thanks again!

@lessmsios: I picked up a copy of your app (always happy to support a fellow Corona developer!), and I wasn’t personally able to reproduce the issue, at least not in my few minutes of trying.

If you can make a reproducible test case, please send it to me (jason@schroederapps.com) and I’ll work with it to edge out the problem in a future plugin update. Thanks!

Hi, thanks for the cool plugin! I just bought it and am integrating it…

I am also experiencing a vertical line at 180 degrees, when the ring position passes that mark. It only happens when counterclockwise = true

For me it happens using your test app (progressRing_sample) as well as my app. In your sample app all I need to do is turn counterclockwise on and it shows there (Corona daily 2018.3257, Mac OS 10.13.2).

I just test my app on iPhone device, and issue doesn’t happen there, looks like only in the simulator FYI.

Thanks for the feedback @dooq! I will investigate and try to correct the issue with the line showing when running counter-clockwise. Given that it’s only happening in the simulator, it could be because of how the simulator handles scaling when not running at 100% pixel-perfect size. That might explain why it’s not happening on-device. But I’ll see what I can turn up.

Thanks again!

Yep, zooming the simulator skin to max size makes the line disappear :slight_smile:

(Been using the iPhone 6 skin zoomed out 1 step)

This is a pic of the ring from my app on the settings page, actual iPad Pro. The colors and ranges were changed - still the vertical line (bottom half) which appears to be 1 pixel in width. The line will appear from top to bottom.

http://lessms.me/ring-line.png

Hey guys - thanks for the continued feedback and details. I think I’ve fixed this. I pushed up a new change to the plugin’s repository, so it should download to your simulators in the next hour or so. Give it a try tonight and see if you are able to reproduce the issue. I think it’s fixed. Thanks!

Jason, any chance you could make a version that includes those changes and uses such pre-rendered mask images?

Interesting - just changed config file to scale = “adaptive” and it seems to work on the simulator with any device chosen.

On one of my apps I did some simple tricks to have a multi-colored ring. Would be nice if you wanted to improve your ring to incorporate multi-colors as a standard feature. Perhaps a table with tables for each color percentage?

percentages = {

    { fore = {r,g,b,a}, back = {r,g,b,a}, percent = nn },

    { fore = {r,g,b,a}, back = {r,g,b,a}, percent = nn },

    { fore = {r,g,b,a}, back = {r,g,b,a}, percent = nn },

}

Thanks for the suggestion @lessmsios! I’ll give it some thought, but I may not have time to dig back into this plugin very soon.

But as long as this thread is active again, I’ll take a moment to highlight my latest plugin: only $1 to add a Doom-inspired scene transition to your game or app!

https://marketplace.coronalabs.com/corona-plugins/screen-melt

@lessmsios: sorry for the long delay in replying to your question - I am working on a revamped plugin version of the progress ring that will always look correct no matter the device resolution, and with better performance. I’m working to make it fully backwards-compatible with the old module, so if you already use the module you can just switch to the plugin painlessly.

The plugin will be paid, but it’ll be a one-time purchase and low-priced. I’m thinking $5 or less. Of course, you can continue to use the old module and make any necessary resolution fixes yourself (using pre-rendered mask images, etc), but if you want a nice simple plug & play way to get a progress ring in your app, the plugin will do the trick.

I’m finishing up the code now, and then have to submit to Corona, but I’ll post a link here when it’s up in the marketplace.

That would be nice schroederapps. I was wrong in my previous post - setting the scale = “adaptive” did help but there was 1 device that continued to display wrong.

Hope you’re successful with your update!

@lessmsios: thanks for the support. Corona Labs just approved my plugin submission, so you can now purchase it for $2.99 and have progress rings that will work on any device, at any resolution, regardless of your scaling method. The syntax is pretty much identical to the plugin, so it should be “plug and play” with your existing code.

This new plugin version uses fewer display objects to achieve the progress indicator rotation effect, and also skips the attempt at generating unique mask files on the fly, so not only does it work better, it’s streamlined and I think a lot nicer. Hope you can use it!

Here’s the link to the plugin on the marketplace: https://marketplace.coronalabs.com/plugin/progress-ring

Bought it - looks very good yet has a couple of problems:

1 - Using composer put one ring on one composer page and another on a 2nd composer page. The slider works on the first page but if you view the 2nd page and go back to the 1st, the ring is displayed but does not respond to changes using

myRing:goTo or

myRing.position

2 - myRing:reset() does not work, gives an error: “attempt to call method ‘reset’ (a nil value)”

Hi @lessmsios. Sorry I didn’t reply to this sooner. I’m unable to reproduce this in my testing, but there are a lot of variables that could be causing the differrnces. Can you zip up a self-contained example that demonstrates the problem and attach it to this thread? That will allow me to try and fix it if it’s a plugin issue or diagnose any issues that might not be plugin-related.

@lessmsios: actually, scratch that request for a self-contained example. I’ve diagnosed an issue with the plugin, in that I attach enterFrame listeners directly to the ring objects themselves, and for some reason the Composer library removes those listeners when switching scenes in a way that prevents from being re-attached when the scene is restored. I will implement a fix in the next day or so that will get things working right again. :slight_smile:

Thanks for buying the plugin, and for helping to make it better!

That plugin cost 2$. is there any free plugin

@lessmsios: I just pushed updated plugin code to CoronaLabs’ plugin servers. They say it could take up to an hour for the code to get pushed to users, but by the end of the day for sure things should “just work” within Composer scenes. It’s working fine in my testing, but please confirm that it fixes your specific use-case if you don’t mind. Thanks!

@schroederapps: tried it and it appears to be fine. I don’t use the delay since all movements are within my code, so am wondering if you’re setting up enterFrame listeners even if no delay (aka, 0 delay) is set?

A suggestion if you ever get bored: Knowing how you previously created the ring with segments would it be difficult to set a gradient option for the ring setting the color from G1 to G2?

BTW - your price is very cheap - practically free, thanks!