oosyrag's Forum Posts

  • 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).

  • What version of Android? Go to any settings tab, those toggles are not draggable in Android 12 at least. If you're talking about a particular app, then it was manually implemented in that app by the developer.

    Edit: Just tried implementing it myself, might not be quite so simple. Looks like C3 either doesn't support css positioning or overwrites it or something. I'll fiddle around with it some more to see if I can get something working.

  • The distance expression always gives a positive number.

    The analog trigger is just another button. You'll have to figure out the button index by experimenting.

    To align something with the angle of the stick, use the angle expression instead of distance, from 0,0 for the origin and the x and y values for the relevant gamepad axises.

    Again, you'll need to figure out the axises yourself. Each stick has two, and the shoulder buttons might be axises as well.

  • construct.net/en/make-games/manuals/construct-3/plugin-reference/gamepad

    Axis(Gamepad, Index)

    Retrieve the current position of an analog joystick on a specific gamepad. Index specifies left analog X and Y or right analog X and Y axes, subject to Key mapping. Axes range from -100 to 100. Axis values within the Analog deadzone are returned as 0.

    If you use distance(0,0,gamepad.axis(x),gamepad.axis(y)) where x and y are the correct gamepad and stick indexes, you'll get how far a stick is pushed.

    Button(Gamepad, Index)

    Retrieve the current button press value of a button on a specific gamepad. Index specifies the zero-based index of a button from the dropdown list in the Is button down condition (e.g. 0 returns the value for the A button). The returned value depends on the features of the button: if the button is pressure sensitive, it can return any value from 0 to 100 depending on the pressure; otherwise it returns 0 for not pressed and 100 for pressed. Buttons which are not pressure sensitive are easier to detect using the Is button down condition.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • On Android at least, sliding these toggles is not a thing. It may be simpler to treat them as separate functions.

    For tap toggles, there is copy and pastable css that should work in C3. w3schools.com/howto/howto_css_switch.asp

    I'd use slider bars for a slide switch rather than a button.

  • Send it to the host with a tag identifying the target peer the host should forward it to.

  • Probably a fill rate limitation. C3 isn't a 3d engine so it's probably not great at efficient occlusion culling (or it doesn't exist at all). Fill rate is a common performance limitation even with 2d games, so I'm guessing your lag doesn't have anything to do with polygon resolution, just simply how many pixels it has to fill and refill.

    Just speculation though. You can test by using a more or less powerful device with remote preview to see if there is a noticeable difference. If you know better then feel free to make a bug report following the guidelines. That's the most direct way to get a fast response from the dev.

  • Should work fine. Is the domain you're trying to get the png and jpeg from the same place? Do you have permission to access the pngs (cors enabled)?

  • The problem that if you design a game that is beyond the capabilities of the target device it will run slowly? Probably yeah.

  • There's a physics based example out there that works pretty well, you can probably find it if you search for it.

    If you study vampire survivors closely though, you'll realize that enemies actually do overlap. They just decollide, or push each other out, every few seconds. You can use multiple bullet behaviors to do this. One to head towards the player (slow, steady), and another one that moves away from whatever it is overlapping (fast, with high deceleration). This approach is much less resource intensive than physics, but generally speaking devices are powerful enough to handle the physics method just fine anyways.

  • Generally speaking, you would store all the data in a text format of your choice (recommend json), with all the relevant information needed to generate and display the choices.

    You need to decide what that is going to look like. For example, for each room you would need at least the room number, description, and a list of choices.

    Then for your layout, you would look up the room number in your data file, and display the information there. Create as many choices options as there are choices (they're all the same object), and set an instance variable from the data that determines what happens when you click that object (for example the target room number). Each choice might have a description as well. Json is flexible, but it's up to you to decide what data is relevant.

  • There is no filtering available for the built in sync function.

    However, depending on your game, you might not need to rely on syncing objects and may be able to use messages to selectively communicate instead.