oosyrag's Forum Posts

  • You probably don't want to use the peerstate expression, unless your ready trigger is holding a key down. Peerstate is better used for inputs and not variables.

    I'd just have the peer send a message. When host receives the message, it also knows which peer sent it, and can set a variable for that peer to true or ready.

  • Never mind, it works the same way with the new file system plugin too.

    After picking files, you'll have a "directory" of all picked files, so just loop through each of the files (Repeat filesystem.filecount times) and display the contents.

  • For reading files, can't you just use the old file chooser plug instead?

  • Send a message to the peer indicating that they should create the relevant objects then. Or, have a peer only event that creates the child objects when the parent is created.

  • I'm unable to test without a subscription, but I imagine if all the child objects in the hierarchy were synced properly it should work fine.

  • I remember running into this issue a long time ago. I think it's an inherent problem with box2d at low speeds.

    Iirc it can be mitigated by using higher resolutions/sizes and downscaling, resulting in relatively higher speeds while visually remaining the same.

  • Recommend turning on the auto save feature in the options, so you don't lose as much progress if it happen again next time.

    There's the minor consolation that something that took you two hours to do the first time usually goes much much quicker the second time.

    Depending on your project, I also generally recommend taking advantage of project files heavily, so that work on individual data file sources are saved separately (and necessitate saving to update/import to your project).

  • I generally create and destroy as needed, but on a dedicated UI menu layer, so a bit of both 1 and 2. This layer is separate from gameplay huds/UI layer. That's more of a personal organizational preference thing than a performance issue though

    I don't like having hidden objects/layers that aren't serving any specific purpose. I also generate my menu item positions dynamically via events to be flexible. I imagine for someone who likes utilizing the layout editor to place and layout their menus, hiding and un hiding layers would be more suitable.

    I doubt there is any performance impact worth thinking about at all, unless you're doing something really crazy with your menus. For something like an inventory or character sheet, I'd definitely create it as needed, but for the reason that the contents are dynamic rather than any performance concern.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • If there isn't an effect for it, duplicate the sprite, offset it and then use a blending mode on a layer with force own texture on to fill it with a solid color. Optionally pin to the original sprite as well.

  • You probably want to use a tilemap. construct.net/en/make-games/manuals/construct-3/plugin-reference/tilemap

    On trigger, for example if you click a block, change it into another block (or an empty square, in the case of digging).

    To refer to the correct tile to change, for example the one under the mouse, you'll use the tilemap expressions described in the manual linked above PositionToTileX(), and PositionToTileY().

    So in your set tile action, the tile x location would be Tilemap.PositionToTileX(Mouse.X) and the tile y location would be Tilemap.PositionToTileY(Mouse.Y). The tile would be whatever you want to change it to.

    If the above is confusing and you're not sure how to use an expression or what an expression is, you should probably start with the first two beginner tutorials and reading the manual.

    construct.net/en/tutorials/construct-3

  • If you're talking about the preset for making a new project, 1080p portrait or landscape is a good place to start for most current devices.

    If you're talking about an example or premade game template, then you'd best find one that is similar to the game you want to make.

  • They work fine for me, Android 12 oxygenos on chrome.

  • I did it - clean too, pure css with the default button-checkbox.

    dropbox.com/scl/fi/iiqc0sxnox003ghok3vyd/csstogglebuttonexample.c3p

    Not quite complete, it's a fixed size and doesn't scale with layout/fullscreen scaling yet. I'll update the same file when I get that figured out.

  • Okay I experimented a bit and found that you can use it as is, copy and paste, if you use an html element object instead of a button/checkbox object.

    Example here - dropbox.com/scl/fi/bxzdcams8yok369489fss/csstoggleexample.c3p

    The way they have it set up is that they use a <span> element nested in the <input type="checkbox"> element, which is used as a flexible empty element for the visual shape and animation. You unfortunately can't do this with the built in button object, since you can only put text in that and not other html elements, and the css wizardry involved in making the animation don't work on the checkbox element itself (afaik anyways, might be worth experimenting with later). That's why in the linked example they just hide the checkbox, and use a visible <span> as a toggle switch.

    That said, it does work as an HTML element. The problem is that you lose the button conditions - namely "Compare text" and "Is checked", and the actions "Set text" "Set checked" and "Toggle checked". I'd say this is mostly manageable, as you can use/compare a boolean instance variable on the html element as a condition, and similarly another instance variable to compare text. The HTML element has the "On clicked" and "On CSS animation ended" conditions, which should be sufficient for most use cases (use those to set the boolean instance variable to true or false).

    I'll try some more things to see what I can do with the button object. I just learned that for checkbox type buttons in particular, the "Set CSS style" action applies the css to the <label> parent element, while the class property in the layout editor is applied actual <input type="checkbox"> element. However, you can also use the "Set attribute" action to give the <label> a class as well. The normal button doesn't have this quirk at all, since it doesn't generate nested elements and is just an <input type="button"> by itself.

    Ps - Thanks again to the Construct team for implementing css and html support, it really opens up a lot of possibility for some slick UI implementations, which a lot of users ask for. Too bad it's not particularly accessible for those not really familiar with CSS, and also the minor issue of not having control of the structure of element nesting (mostly solved by having the HTML object now, but then we don't get the ACEs for the form elements as above).