dop2000's Forum Posts

  • Always check the last few pages in the topic for updated download links.

  • Local Storage data is also saved in browser storage. So if player decides to clear cookies or browsing data, it may be lost.

    With Local Storage you can choose what to save. It may be a single bit of data, or lots of variables, arrays, dictionaries etc.

  • For a browser game you have two options - browser storage (either using System Save/Load, or LocalStorage plugin), or cloud storage. Browser storage may be lost if player clears browsing data, but for many simple games this is not a big issue, and it's much easier to implement.

    System Save action saves everything, so yes, it may restore old level layout. You can try adding NoSave behavior to objects which you don't want to save, but this may not work very well in some games.

    With LocalStorage you can save just the information you need - for example player stats, current level number, amount of gold etc.

    .

    If you want to use cloud storage, take a look at services like Playfab, Firebase etc. You will need to compose a block of data with information you wish to save, and send it to the server.

    .

    By the way, most of С2 manuals and tutorials are still relevant for C3, so don't discard them.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • If you took my advice with two variables (correct order and clicked order), then once the length of both variables is the same, check if they are equal. If not - this means that the clicked order was wrong.

    If you want to detect mistakes immediately when the first wrong picture is clicked, you need to do something like this:

     Compare variable clickedOrder not equal left(correctOrder,len(clickedOrder))
     // display animation for wrong order
    
  • I've shared this example before:

    dropbox.com/s/srgf9lme08by9wa/JSON-RecursiveRead.c3p

    You can use it to browse through the entire JSON and compare value of each key/index.

  • I usually need to add multiple children to one parent. Sometime like 20 different objects. So I can see how your suggestion may be useful, but I would also prefer to keep the current method.

  • Double-click the sprite to open it in Animation Editor. There click the collision polygon icon on the left toolbar, or press Shift+P

  • My understanding is that to display a rewarded ad you are required to ask user if they would like to see it. Interstitial rewarded ads can be shown automatically without a prompt during natural app transitions.

    Edit: Apparently, you still need to give user an option to opt-out:

    support.google.com/admob/answer/9884467

    With interstitial ad you only get paid if people click on it.

    With rewarded and interstitial rewarded you get a small amount of money when the ad is played to the end.

  • An easy method is to use a text variable to store the sequence. For example, it can be a list of animation frames - "310". Which means that first you need to click sprite instance with frame 3, then 1, then 0.

    As player is clicking the sprites, save clicked frames in another variable:

    Set Result to (Result & Sprite.AnimationFrame)

    And once two variables are equal, this means that the sprites were clicked in the correct order.

  • I agree, expressions like Sprite.AnimationsCount and Sprite.AnimationName(index) would be quite useful.

  • You can add an event which outputs group status (enabled/disabled) to browser console. Either when a key is pressed, or every X seconds.

  • The condition on the left (CarControl ID=0) will pick the instance of CarControl object with ID=0. And then all actions in this event will only be applied to that picked instance.

    Picking is one of the most important principles of programming in Construct. I suggest you start by studying a few official templates and tutorials.

  • Car Pick by Unique ID =1
    Overlay1 Set position to Car
    Overlay1 Pin to Car
    
    Car Pick by Unique ID =2
    Overlay2 Set position to Car
    Overlay2 Pin to Car
    
    ...
    
    or
    Car Compare Variable CarID =1
    Overlay1 Set position to Car
    Overlay1 Pin to Car
    

    It may be easier to set up everything manually in the layout editor. You can select both sprites (car and overlay), right click the car and create hierarchy connection between them. It works better than pin.

  • Double-clicking a point adds a new one next to it.