John Cutter's Recent Forum Activity

  • To keep my C2 code simple, clean, and easy to read, I like to put ALL my code into Groups. When an event in that Group is resolved I deactivate it and activate the next one. Sometimes I have to leave a Group open until events have resolved... This FSM-style methodology works very well for me but I ran into an obscure bug recently and I'm wondering about the best way to prevent this problem in the future.

    My issue occurred when I switched to a new layout and then back again. I expected the layout to basically "restart" but I apparently had a Group open (from before) and that code was executing out of order. Anyone else run into this? I don't think there's a programmatic way to Activate or Deactivate all groups, right? I could do it on a Group-by-Group basis but I have a lot of Groups.

  • Strangely, when I tried to load my website at work today I was only seeing the OLD version of the site. I tried to force the site to update but that didn't help. Switching to Chrome's Incognito Mode fixed the problem, so I completely cleared my cache and now everything seems to be working as intended.

    So I'm thinking it was an issue with my website cache not updating? (I have a loading page in my app that is supposed to check for that. Not sure why it stopped working.)

    Bottom line: everything is back to normal, for now.

  • Not sure if Ashley will see this but maybe someone else can answer the question:

    When I updated to r223 I did NOT uninstall r221 (or r222), even though the installer recommended it. Would that have caused any issues that might have invalidated the test? (I installed the new version to a different drive.)

  • I recently posted an app to my bluehost website. I then discovered that bluehost offers a free (shared) SSL certificate so I went ahead and got that working. This is actually kind of important because my app uses voice recognition, and without SSL it asks for permission every. time. you. click. the. talk. button.

    I can now get to my app using an "https://" link OR the old "http://" link.

    Here's the problem: I made a small update and uploaded it. When I use the new link the app doesn't detect that there is a new version. It's just using the cached one. (Even after repeated page reloads, after restarting the browser, etc.) The old "http://" link picked up the change immediately and downloaded the new version.

    Why is only one link working? They are both pointing to the same files, right? Confused.

  • Ashley I just downloaded the latest version and uploaded a new file to my website. The only difference I see is that WindowinnerHeight now reports as 960 instead of 928.

    PROGRAM:

    App: Speech Synthesis Demo

    Build: r223

    Fullscreen in browser: Letterbox scale

    Window size: 640 x 260

    LAPTOP (full screen):

    WindowinnerWidth: 1920

    WindowinnerHeight: 955

    IPAD PRO:

    WindowinnerWidth: 1366

    WindowinnerHeight: 960 (was 928)

    Let me know if there's anything else I can do to help you fix the problem.

  • I think this was user error. I did another export and it seems to be working now.

    In the past I have used the "How Do I..." section when I have very specific questions. This one was a bit more general so I picked the "General" section. Should that section be used for something else?

  • I have an exterior Project File that I generate using Excel. This gets uploaded when I export my project and everything works great.

    I'd like to be able to update my website directly from Excel (if the only thing changing is that single data file). So I wrote some Excel code to do the following:

    1. Generate a .json file (the Project File)

    2. Upload the .json file to my server

    3. Load latest offline.appcache from project folder

    4. Replace the timestamp (#98769808) with a random number

    5. Upload offline.appcache to my server

    Everything seems to be working fine, but C2 isn't recognizing that it needs to update. Do I need to use an actual timestamp instead of just a random number? If so, what is the format?

    Any other suggestions?

    Thanks!

  • Ashley Here are the results of the test you requested:

    PROGRAM:

    App: Speech Synthesis Demo

    Build: r222

    Fullscreen in browser: Letterbox scale

    Window size: 640 x 260

    LAPTOP (full screen):

    WindowinnerWidth: 1920

    WindowinnerHeight: 955

    IPAD PRO:

    WindowinnerWidth: 1366

    WindowinnerHeight: 928

    QUESTION: I don't know if these values are expected or indicate some kind of iOS issue. Anyone?

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Ashley I just downloaded r222, built my app, uploaded it to my website, and brought it up on my iPad Pro. After it updated and restarted the page looked exactly the same. (See picture above.)

    DETAILS:

    Resolution: 900x525

    Fullscreen in browser: Letterbox scale

    Is there anything else you want me to look at or try?

    NOTE: I didn't uninstall r221. Hopefully, that didn't invalidate the test.

  • I just logged in to post some pictures of the issue. Hopefully r222 will work a bit better. Will check it out later.

    Here's how my app looks on several different devices:

    MY LAPTOP:

    MY WIFE'S IPAD3:

    MY IPHONE:

    MY IPAD PRO

  • Great story, Ciaphuas! Nice to see that you are pursuing one of your passions!

    Long time game designer here who does a little bit of coding. I'm really enjoying Construct 2, but I sometimes miss actual programming. I've been looking at Corona recently, but I suspect common sense will win out in the end and I'll stick with C2. (For prototypes and web stuff. I'll probably choose Fusion 2.5 or Gamemaker Studio if I decide to make something for one of the mobile platforms.)

  • I *just* figured out the Local Storage stuff myself. (So I'm NOT the right guy to comment on someone else's .capx) But what is the general issue you're having?

    I like to organize my code into groups that I can turn on and off as needed. This may not be helpful at all, but here's how I handled Local Storage:

    [START GROUP]On start of layout:
         get item "player"
         get item "score"
         get item "sound"
         Set group "START GROUP" Deactivated
         Set group "GET VALUES" Activated
    
    [GET VALUES]
    On item "player" get
         System -> Set item global_player to localstorage.itemvalue
    On item "score" get
         System -> Set item global_score to localstorage.itemvalue
    On item "sound" get
         System -> Set item global_sound to localstorage.itemvalue
    On All Gets Complete
         Set Group "GET VALUES" Deactivated
    [/code:39omiwki]
    Good luck with your project!