oosyrag's Forum Posts

  • Alternatively you can use Layer Zoom

  • There is no way to artificially limit FPS.

    Depending on your use case though, you can somewhat simulate a lower framerate by having all your events run every 0.33 seconds instead of every tick, but that probably isn't what you're looking for in terms of tests.

  • This post will be focused on UI elements and design, as well as user experience as a whole. It goes without saying that significant portions of this will be personal preference and opinion, although I will try to remain as objective as possible.

    Based on what I've read from other user comments, there may be a bug regarding toolbars not showing up at all upon loading C3. I have experienced one time myself where after switching back to the C3 tab, my properties bar was empty. Going back to the layout view fixed it, but it was odd. I was unable to reproduce the issue.

    While accidentally closing a toolbar is really relatively easy to do, bringing them back seems be more difficult/hidden than it needs to be. I don't think there needs to be so many submenus to get to them (Menu -> View -> Bars). I'm also not sure what the Addon manager is doing in "View", it could probably go straight under Menu. Then "View" would just be Start Screen and Bars, which probably no longer need their own sublist. It would also be nice to make it a little harder to close a bar on accident - traditionally one way around this is to have a confirmation dialogue when clicking the x ("Are you sure you want to close?"), but I detest those. A better solution might be to have a little temporary "Undo" button show up after closing one, that fades away shortly. Personally I think the "X" to close should be simply be removed, and leave right clicking (long press?) the only way to close or undock the bars.

    On a positive note, the design for bar placement and docking is absolutely fantastic!

    I like how the free edition limitations are communicated, and it is intuitive to get to them. What isn't clearly communicated is that you can get more maximum events for logging in or verifying your e-mail. It is also unclear that the email can be or needs to be verified at all. Worse, even though I know this, I was unable to actually figure out how to verify my email. Going to my profile shows that it is unverified, but offers no method to remedy the situation. Edit: A reverify link has appeared! But FYI the email got sent to spam for gmail, with the reason that construct.net is known for sending spam. Perhaps you may want to contact the gmail team regarding your acquisition of the domain.

    The save button only shows options for cloud saving. I imagine a new user might find it difficult to realize local saving is an option at all, as it is once again buried under submenus. It would be great if the interface for cloud/localstorage/download save were unified.

    I have a lot of complaints about the event sheet/layouts tab system (also an issue in C2), but I will leave that for a followup post.

    Visual comparison between C2 and C3

    I'm glad the Microsoft Office style toolbars at the top are gone, I wont miss them at all! I also really like the change to the bottom status bar - the information provided is more immediately noticeable/accessible. It is only really relevant on the layout view anyway, so it doesn't always need to be on the bottom as it was before.

    I hope a dark theme will be available in C3, it is much easier on the eyes for people who spend significant time in front of the monitor.

    I have mixed feelings regarding the spacing/size of the text in the properties bar. While white space looks very nice, in this case I think I prefer the utility of having a more compact spacing. The bigger complaint I have is the behavior of line breaking. In C2, if the width of the property bar shrunk and there wasn't enough space for the text, the text would get truncated with ellipsis. In C3, they wrap to the next line, which leaves some properties with one line spacing and some with two, which looks really bad in my opinion. This was actually one of the first things I did, as the property bar in C3 is significantly wider than in C2, I sized it down a bit.

    The next one was an issue I had with C2 as well. It is a small thing, but I found it strange that when nothing is selected the layout properties are shown by default. I always felt it would make more sense to show the project properties by default, especially as you can have multiple layouts and they can be selected in the project bar.

    Sorry for the long post about first impressions! I have additional feedback for the image editor interface as well as the tab system I mentioned earlier, to be provided in the near future.

    Edit: Followup on the toolbars - I found the reset layout in settings, but it asks you to restart C3 for changes to take effect. Is that really necessary? And I'm assuming by restarting C3 it means refresh the page, and when refreshing the page there is a dialogue warning that things might not be saved, but no direct way to save from there. This could probably use some work to make it friendlier.

  • No, there is no option for fullscreen scaling that stretches your sprites unevenly.

    It is best to design by scale inner/outer in all cases. The one you use depends on if you want certain screens to be able to see more or less of your layout/extra space. If you don't care to fill that extra space with graphics, then use letterbox scale.

  • Localstorage can save any value/string, and Array.AsJSON is a string. Localstorage doesn't have anything on arrays in particular because it can be used with many things.

    Array.AsJSON is an array expression, and Load array is an array action, so you can read about them on the array page - https://www.scirra.com/manual/108/array

  • The string is the Array.AsJSON. Did you read the manual entry about localstorage?

    To retreive a key from local storage, you first check if it exists, then on exists, you get key. Then on get key, you can access it from localstorage.itemvalue.

  • The array has a "Load" action, which you put the JSON string into.

  • Ok I have no idea what is going on with all the layouts and event sheets but you have no "Get Item" action anywhere. Localstorage.ItemValue is nothing until you get an item, and put it in an event with an "On Item Get" condition.

  • On the second layout, you will need to once again check if key exists, then set your variable in an "On exists" event.

  • I'm going to assume you're relatively new to Construct 2, so first I'll direct you to the manual - https://www.scirra.com/manual/75/how-events-work, and hope you have done the tutorials.

    It's going to be a bit difficult if you're a traditional programmer moving to Construct, as you will find that a lot of things you are trying to do are simpler than you might think. Basically, Construct will take care of a lot of lower level stuff for you behind the scenes (such as everything you mention in the last paragraph).

    Specifically regarding your questions - In your event conditions, if you used "On Mouse clicked RedItemSprite", only the one you clicked on will be "picked", and any actions in that event will only apply to those instances that have been picked by the conditions specified.

    So if you're setting flags, only the instance you click on will be picked and have its flag set. You can use a seperate event that runs every tick to keep the instance with its flag set positioned under your mouse at all times. On release, you can reset the flag.

    Regarding limiting which of your instances can be "picked up" - there are many ways to do this, it is up to you to set the condition under which it can be interacted with. Another instance variable as a flag would do nicely. Another useful technique that comes in handy in a lot of cases is to use an invisible helper sprite. Place this invisible sprite over the ones you want to interact, and in the event that lets you pick up items, add the condition that your mouse has to be over this helper sprite. If not, then that event won't run.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You're missing quite a few steps. Read the manual entry, follow the tutorial. Localstorage is asynchronous - that means it doesn't run in the same time as your event sheet.

    [quote:1aql7znz]For example here is a flow to read the value of the key "score":

    Use the action Get item "score"

    A moment later, On item "score" get triggers

    In this trigger, use the ItemValue expression to read the item

  • System: Set HighScore to int(LocalStorage.ItemValue)

    NaN means Not a Number. The int() part is important, as it changes a string into a number.

  • Are you loading the score from localstorage only on start of layout? Make sure you are not doing it every tick.

  • You definitely need the localstorage "Check item exists" action somewhere.