oosyrag's Forum Posts

  • Not too clear from your description, but issues like this usually result from misunderstanding and getting the signaling connection and the room connection mixed up. The can be disconnected from separately, make sure you're using the right one. Also note that disconnection is an asynchronous action, it doesn't happen in one tick so make sure to use the 'on disconnected' and 'on left room' triggers to log and diagnose.

  • Yes, treat it as a 2d ui layer as described in the 'using 2d layers' section in the following.

    construct.net/en/tutorials/using-3d-construct-2746

  • To create a permutation table without the advanced random plugin, create an array of size n where n is the number of values you want to pick from, and fill each cell in order with its index.

    Reapeat array.width times - Pick a random index from 0 to array.width in the first ordered array, push the value into a second array, and delete the index that was randomly picked.

    The second array will contain a set of randomized nonrepeating numbers.

  • What platform?

    If you have a log in server, that can be used to verify the game version at the same time. What authentication method are you using?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Make an arrow sprite, set it to your cursor position, set it's angle towards position to ball.x ball.y.

  • It probably has something to do with the way the layout is set up. Is your layout utilizing layers? Make sure you have the correct layer selected when creating the sprite. Check that the upper layers have the transparent property enabled. If the "white layout part" is an object, you can try selecting it and right clicking -> z-order -> send to bottom of layer. Otherwise not really enough information to guess what's wrong.

  • LastX is probably a user created instance variable. It is commonly used to compare the current and last position of a sprite object, by setting self.LastX to self.X at the end of every tick.

  • Well the opposite of the last action depends on how you have your actions set up, which I do not know.

    You could also keep track of the locations that an object has been to instead, and use those to move instead.

    Each object can have its own history. So when you use undo just do it for each object based on it's own history, and keep track even if it didn't move.

    I can put an example together later.

    Edit: dropbox.com/s/1vi6kp5p7lcn30n/undo_example.c3p

  • Check out the catapult example.

    editor.construct.net

  • When using physics, don't use other movement behaviors.

    To make objects move with physics, apply forces and impulses.

    To make objects not be able to move with physics, set the immovable property.

    Experiment with density, friction, elasticity, and damping until you get the result you are looking for.

  • Use the line of sight behavior and cast a ray. Then on ray intersected event you can use the object.lineofsight.hitdistance to set the width of your line.

  • Use an array to store a history of moves.

    Every time a move is made, push the action/result into the array. When undoing, do the opposite of the last action, and delete it from the array.

  • The workaround is to check if the objects are overlapping (x/y), then add a second condition comparing the z height of one object (the solid, or "floor") with the z elevation of the other (the player). This only works for "flat" surfaces.

  • 6000? You want to be aiming for 1-2k for a humanoid character on desktop, probably less than 500 on mobile.

  • Yes, you can do this with the drawing canvas object.