oosyrag's Forum Posts

  • I'm not sure I understand what you are going for... could you clarify? Here is an example of the method I described in my post.

    https://www.dropbox.com/s/osqgnnq4voogt ... .capx?dl=0

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I thought DT already took time scale into account.

  • Thought you meant just automatically.

    In that case, the simplest way is a set of actions. You'll want to set your angle via your controls. Then, every tick, set your player to the planet's x and y, and then use the move forward at angle action together to place it in the right place. The distance is how high you want your orbit, and the angle would be angle(planet.x,planet.y,touch.x,touch.y) (or mouse.x and y if you're using mouse). If you're using keyboard arrows, you'll want an angle variable that gets modified by your arrow keys.

  • You can use a combination of a horizontal and vertical sine movement to create an orbit.

  • Updated capx, with comments, same link.

    https://www.dropbox.com/s/mz3e0ys26mfo5 ... .capx?dl=0

  • New approach for perpendicular tracking of mouse as requested. Simpler too.

    https://www.dropbox.com/s/y373s7br405fk ... .capx?dl=0

  • See if this helps. https://www.dropbox.com/s/dkqrwnwdz75qh ... .capx?dl=0

    Basically use a global variable to keep track of where you came from, and have multiple spawn locations based on that variable.

  • That's up to your own style or workflow. If you need to randomize your enemies or generate then dynamically, I would create them via events.

    Or if you like/need to place them in the layout editor for level design purposes, then just set the variables manually then copy and paste.

    You can also just set a single instance variable "monster type" when placing on the layout editor, and adjust all the other variables based on that by event on start of layout similar to how i described with a function. This will make it easier to make changes and adjustments later.

    Really is up to your own preference and what is most suitable for your game.

  • For an even chance of spawning all monsters within the specified level range, I would use a second array. The first array would contain all monsters, the second array would be generated to contain monsters eligible to spawn.

    You would use a for each x, and check the level at curx,1 to see if it qualifies, then push it to three second array if it does. After all qualified entries have been added to the second array, you can use floor (random (array2.Width)) to pick a random index from the second array.

    For a brute force method, you can pick a random index from your main array, check of the level is within your criteria, and repick if it is not. But this method can be inefficient.

  • That looks about right. Although there is a bound to layout behavior that seems more suitable for what you described.

    I'm not certain about the effects of the layout scale, but that should be easy to compensate for either way, as there is a layoutscale expression you can use as a multiplier if necessary.

  • [deleted]

    EDIT: Never mind what I said previously! Different approach has been found as per your requirement.

  • Assuming your different values are instance variables, you can create a function to spawn enemy with a parameter "enemy type". In the function, seperate out if enemy type=a then set certain variables, if enemy type=b then set variables, ect.

    Create your behaviors based on each enemy's instance variables.

  • No noticeable difference.

    Edit: Loops can cause issues if you are not careful with them.

  • It may be better to just stick with a simple variable, if you don't need to store much information about each entity in the queue. Here is an example - https://www.dropbox.com/s/mz3e0ys26mfo5 ... .capx?dl=0

    For multiple queues, it will be a smart idea to use an invisible helper sprite to mark the start of each queue. This helper sprite can also be used to help position new customers and keep track of queue size. You will also be able to associate each customer with a particular queue by saving the UID of the helper sprite.

    I'll get back to this and update with a better example when I have time.