Posts by Crache

Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.

A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.

Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!

Clickteam.

    You don't drag layers onto the frame. The layer toolbar isn't a toolchest of layers, it is a list of layers you already have.

    In the Layers Toolbar, you will see 4 icons at the top. The first one looks like folded paper. The second one looks like a trashcan. The third one looks like a face mask. The fourth looks like a lock.

    You can ignore the third and fourth, just think about the first and second icons.

    The first icon (the folded paper) will create a new layer. If you click that icon, a new layer will be created and you'll now see 2 layers in the list of layers in your layers toolbar.

    By default, they are referred to as "1" and "2", so they are only numbered. However, you can name each layer if you'd like.

    Now, you know how if you select an object or anything else in the frame, you see the properties of that object in the Properties toolbar? If you select a layer in the layers toolbar, this too opens up its properties in the Properties toolbar. There you can change the name of the layer from "Untitled" to something else. Now next to the "1" or "2", this new name will show up next to the layer number in the layer toolbar.

    When you only have a single layer, all objects that you create in the frame are created on that single layer. But now that you have 2 layers, any objects you create in the frame will by default be created on the layer you currently have selected, so you'll want to make sure to keep this in mind.

    Layer 1 will be under Layer 2, so if you create an object on Layer 1 then any object on Layer 2 will overlap it if they are in the same location on screen.

    If you end up wanting to remove a layer, you can click the trashcan icon in the layers toolbar while you have the layer you want to delete selected.

    There's a lot more that can be said about layers, but these are the basics.

    If you are really serious about this and don't want to settle for something less than an authentic live update, then you might want to look into Please login to see this link.

    It will cost you, but it scales so if your app became popular then this is probably the service you would want to be using.

    Otherwise, if you expect a very low number of concurrent users you could just write some small script on a server to update and read the total.

    Doing a much less frequent update and just faking the realtime activity based on the amount the counter has to catch up to would be more efficient though.

    On my machine 100 million alterable value reads takes so little processing time that it was within the margin of error.

    100 million alterable value writes however took ~5.07 seconds, so writing each alterable value took on average 0.0000000507 seconds. This is negligible for the number of objects you probably have.

    I don't have good performance numbers for event conditions, though I did try to test them a while back. Going by the numbers I do have, setting this value for all of those objects at once using a fastloop may be faster than having separate events for each one. If you only have a few of these events, then it shouldn't matter either way.

    If you have a lot of these objects then it would be good to decide if you really need to do this every single frame. If you know that these object variables are being changed on a timer, then consider only resetting these variables during that timer or an equivalent one as well. If these variables are never interfered with or read outside of their scope, you could instead have a global value or a separate value in another object so you only need to change the value in one place.

    Another benefit of writing to a global value is that it's actually a bit faster than writing to an object's alterable values. 4.2 seconds for 100,000,000 writes versus 5.07 seconds. Tiny numbers though.

    Wow! Fixed some of my bug reports, plus some that have bugged me for a while that I just haven't reported. This is going to be a great update.

    Quote

    - Expression editor: wrong colored syntax when the expression contains line breaks

    Excellent. Now if only there was a way to save custom formatting for expressions. :)


    Quote


    - Picture editor: bug in undo selection resizing
    - Workspace window: object icon now updated when you undo resizing or rotating the object in the frame editor.

    That bugged me forever.

    Quote


    - Windows runtime: the VSync Off action now works correctly

    Nice, one more quality of life improvement for end users. Now if only we can enable/disable AA with at least a command line option, or get a list of supported screen resolution/refresh rate combos for the primary adapter and force the runtime to use them when it goes fullscreen, we'll be really approaching modern PC support which is a great thing. Not being able to configure AA at runtime (and possibly some performance issues) caused me to roll my own solution. If I want to at least give people a ballpark of which screen resolution the runtime might select, I have to have several versions of the executable right now and use a launcher or redirect to another executable after checking a custom command line option.


    Quote

    - Windows runtime: incorrect clipping in maximized mode if the "heading" option is selected and the "heading in maximized mode" is not selected.

    Will be gladly removing my workaround code for this one. Speaking of unintentional clipping or offsets, is the 2*pixel-size offset in the projection matrix intentional?



    Quote

    - Windows runtime: on a secondary monitor the application couldn't be maximized at a size greater than the size of the main monitor.

    The Steam client has been doing this for a long time, and when I reported it, they fixed it within a week. Unfortunately, in an update not long after that they broke it again.

    Haven't reported it with the Fusion runtime yet despite it happening to me, because I hadn't tested yet to see if it was my doing (being that I was aspect ratio correcting the window).


    Quote

    - Window Control object: the Screen Size expressions now return the size of the current monitor.

    This could be good for doing special repositioning of the window on the desktop, though in most cases the screen size of the current display hasn't been that useful. For both windowed mode and fullscreen you can pretty much focus on the window values rather than the display values. It does seem like this means that with the Window Control object you can no longer get the size of the primary adapter specifically, though I'm not sure it matters too much.


    Looking forward to this update.

    Approximately -2,147,483,647 to 2,147,483,647 at least for layer positioning. Fusion won't give you an error, but shortly after reaching that position you can no longer expect accuracy. You would have to travel across a 1920px screen width 1,118,481 times in order to hit the edge. If each screen took 1 second to cross at the fastest speed, it would take over 300 hours to hit the edge if you're starting from the center. This is just a guess based on a quick test, so someone else may have better information.

    Also, there may be other limitations related to specific objects and I'm not sure about Android or iOS.