oosyrag's Forum Posts

  • You can use a new layout for each level, or you can simply use a scroll to on an invisible camera sprite object to move it to a new position.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Use a separate layer with parallax 0.

    Or use the anchor behaviour.

  • Also remember to set a trigger for the top level repeat event! Otherwise it will run every tick and just keep putting values from the old array into the new array until there are none left. Also Array 2 should start out with width 0 height 2.

    Here is what it should look like:

    • Is there a condition missing before the second same-level part or are those other actions that are following on the other conditions?

    There is no condition for these actions, they just need to run after the Array for each xy loop finishes, but only should run once so it can't be a sub event of the for each XY event.

    • Why is it necessary to delete something from the first array?

    The for each xy event finds and records the highest value in the array. If you don't delete it, it will find the same value again in the next repeat of the event.

    • This one I don't understand: Set Array2 at Array2.width-1,1 to array.at(index,1)

    Because we're using push back, this sets the y=1 value at the back of the array.

    X=array.width-1 - this means the last value of the array on the x axis

    Y=1 - where you keep the value (Y=0 was the name)

  • All images on a given layout are loaded (uncompressed) into memory regardless of visibility.

    You're simply using more memory than the Xbox can handle. A PC often fudges graphical memory limitations by caching to hard drive (slow, but still works).

    You might try removing all the sprite objects/ customization options to see or confirm if it makes a difference.

  • Functions in construct are a little different than traditional functions... So parameters are mainly an organizational/visual way to pass information/variables to a function. They are basically the same as local variables unique to each call of the function.

    It doesn't really have anything to do with picking, but yes functions can access instance variables just fine so there isn't much difference there. For example, sometimes you want to use parameters to set the instance variable in the first place, if your function is creating an object.

    They basically allow your functions (a common set of actions used in multiple places in your project) to be more flexible in what they can do, so you don't have to keep remaking a similar set of actions that are just slightly different for many events.

    When your projects get larger, functions are an valuable organizational tool.

  • Repeat 3 times

    Sub events -

    Local variable "highestValue"

    Local variable "index"

    Array for each xy

    Array.cury=1

    Array. Curvalue>highestValue

    -> Set index to array.Curx

    -> Set highestValue to array.Curvalue

    Next same-level event, not sub-

    ->Push back Array2 array.At(index,0)

    ->Set Array2 at Array2.width-1,1 to array.at(index,1)

    ->Delete array at index

    If you need to preserve the original array, you can save array.asjson to a variable beforehand and load it again after.

  • Does your event use the Ajax on completed condition before trying to get Ajax.lastdata?

  • You should definitely make your own particle event, it is pretty easy and much more flexible than the built in plugin.

  • Try setting the "Bounce of solids" property in the bullet behavior to yes rather than setting bounce actions.

  • Invisible objects are not rendered, but transparent pixels are.

    Have you isolated this effect to be causing the slowdowns? Do you remember when you started experiencing the slowdown? Try remove one thing at a time to find out exactly what is causing it.

  • Option 1: Create an array populated with all possible positions. Randomly select a value from the array then delete it from the array so it can't be chosen anymore. Repeat.

    Option 2: Place objects randomly. If it overlaps an existing object, delete it and try again. Repeat.

    Option 3: Use a Blackhornet's smart random number generator plugin that can prevents duplicates.

    There are other ways but I think these are the more common solutions.

  • https://www.scirra.com/manual/174/multiplayer

    [quote:1w1fvyxp]Join room

    Join a specific room in the given game instance. The player must be connected and logged in to the signalling server. The first player to join a room becomes the host. Max peers can be used to limit the number of peers that join. Only the host's value is used. If the room is full, subsequently joining peers will receive a "room full" error. The peer count includes the host, so 2 is the minimum value, or it can be left as 0 to allow an unlimited number of peers to join. Upon successfully joining, On joined room triggers.

    Multiplayer games are not easy to make, you should try to recreate the tutorial projects at least, otherwise you are not going to get very far. Your question is covered in the Pong tutorial.

    https://www.scirra.com/tutorials/892/mu ... 1-concepts

    https://www.scirra.com/tutorials/906/mu ... -chat-room

    https://www.scirra.com/tutorials/979/mu ... ial-3-pong

    https://www.scirra.com/tutorials/915/mu ... -time-game

  • It has nothing to do with the signalling server if your host and peers were connected and communicating at any point in time. My understanding is that once a peer successfully joins a room, the signalling server should not have anything to do with the peer anymore (it wouldn't know the connection status of any peer either).

    Are all testing hosts/peers on a local network? Sounds like a NAT problem. WebRTC is generally pretty good about maneuvering through NATs, but things can go bonkers through double NATs or other more complicated scenarios.

    Another possibility is the host connection is just too unreliable to keep the connections alive - this has nothing to do with speed or bandwidth, but more to do with latency jitter and packet loss.

    Outside of that I would suspect an event sheet mistake.